문제 한 개의 문자열 s와 문자 t가 주어지면 문자열 s의 각 문자가 문자 t와 떨어진 최소거리를 출 력하는 프로그램을 작성하세요. 풀이 function solution(s, t) { let answer = []; let cnt = 1000; let arr1 = []; let arr2 = []; let backCnt = 1000; for (let i = 0; i = 0; i--) { //console.log(s[i]); if (s[i] === t) { backC..
문제 문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만 듭니다. 만약 “tge0a1h205er”에서 숫자만 추출하면 0, 1, 2, 0, 5이고 이것을 자연수를 만들면 1205 이 됩니다. 추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다. 풀이 function solution(str) { let answer = ""; str = str.toLowerCase().replace(/[a-z]/g, ""); //console.log(str); answer = str; return parseInt(answer); } let str = "g0en2T0s8eSoft"; console.log(solution(str)); replace 와 정규 표현식으로 풀었습니..
문제 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 팰린드롬이라고 합니다. 문자열이 입력되면 해당 문자열이 팰린드롬이면 "YES", 아니면 “NO"를 출력하는 프로그램을 작성하세요. 단 회문을 검사할 때 알파벳만 가지고 회문을 검사하며, 대소문자를 구분하지 않습니다. 알파벳 이외의 문자들의 무시합니다. 풀이 function solution(s) { let answer = "YES"; s = s.toLowerCase().replace(/[^a-z]/g, ""); console.log(s); let n = s.length; for (let i = 0; i < Math.floor(n / 2); i++) { if (s[i] !== s[n - i - 1]) return "NO"; } return answer;..
문제 앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 회문 문자열이라고 합니다. 문자열이 입력되면 해당 문자열이 회문 문자열이면 "YES", 회문 문자열이 아니면 “NO"를 출력 하는 프로그램을 작성하세요. 단 회문을 검사할 때 대소문자를 구분하지 않습니다. 풀이 function solution(s) { let answer = "YES"; let sen = ""; s = s.toLowerCase(); sen = s.split("").reverse().join(""); if (s !== sen) { answer = "NO"; } //console.log(sen); return answer; } let str = "googg"; console.log(solution(str)); split,reverse,j..
문제 지도 정보가 N*N 격자판에 주어집니다. 각 격자에는 그 지역의 높이가 쓰여있습니다. 각 격자 판의 숫자 중 자신의 상하좌우 숫자보다 큰 숫자는 봉우리 지역입니다. 봉우리 지역이 몇 개 있는 지 알아내는 프로그램을 작성하세요. 격자의 가장자리는 0으로 초기화 되었다고 가정한다. 풀이 function solution(arr) { let answer = 0; let n = arr.length; let dx = [-1, 0, 1, 0]; let dy = [0, 1, 0, -1]; for (let i = 0; i < n; i++) { for (let j = 0; j < n; j++) { let flag = 1; for (let k = 0; k < dx.length; k++) { let nx = i + dx..
문제 N*N의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가 장 큰 합을 출력합 니다. 풀이 function solution(arr) { let answer = Number.MIN_SAFE_INTEGER; let n = arr.length; let sum = 0; let sum2 = 0; let sum3 = 0; let sum4 = 0; for (let i = 0; i < n; i++) { sum = 0; sum2 = 0; for (let j = 0; j < n; j++) { sum += arr[i][j]; sum2 += arr[j][i]; if (i - j === 0) { sum3 += arr[i][j]; } if (j + i === 4) { sum4 += arr[i][j]; }..
문제 N(1
문제 OX 문제는 맞거나 틀린 두 경우의 답을 가지는 문제를 말한다. 여러 개의 OX 문제로 만들어진 시험에서 연속적으로 답을 맞히는 경우에는 가산점을 주기 위해서 다음과 같이 점수 계산을 하기 로 하였다. 1번 문제가 맞는 경우에는 1점으로 계산한다. 앞의 문제에 대해서는 답을 틀리다가 답이 맞는 처음 문제는 1점으로 계산한다. 또한, 연속으로 문제의 답이 맞는 경우에서 두 번째 문제는 2점, 세 번째 문제는 3점, ..., K번째 문제는 K점으로 계산한다. 틀린 문제는 0점으로 계 산한다. 풀이 function solution(arr) { let answer = 0, cnt = 0; for (let i = 0; i < arr.length; i++) { if (arr[i] === 1) { cnt++; ..
- Total
- Today
- Yesterday
- NextRequest
- 윤성우 열혈C프로그래밍
- React
- env
- 북클럽
- 우아한테크코스
- createPortal
- 초보
- javascript
- nextjs
- NextApiRequest
- 노개북
- C언어
- WSL2
- jest
- 노마드코더
- 프론트앤드
- CLASS
- TopLayer
- electron
- 프리온보딩
- 스토리 북
- Storybook
- error
- 위코드
- 원티드
- 아차산
- import/order
- nodejs
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |