코딩/코딩테스트

[문제][풀이코드]function solution(survey, choices) { var answer = ''; const mbti = {'R': 0, 'T': 0, 'C': 0, 'F':0, 'J':0, 'M':0, 'A':0, 'N':0}; for(let i = 0; i 4){ mbti[survey[i][1]] += choices[i] - 4; } else if(choices[i] = mbti['T'] ? answer += 'R' : answer += 'T'; mbti['C'] >= mbti['F'] ? answer += 'C' : answer += 'F'; mbti['J'] >= mbti['M'] ? answer +=..
[문제][풀이코드]function solution(s, skip, index) { let ans = ""; s = s.split(""); s.map((item) => { let a = item.charCodeAt(); for (let i = 0; i 122) { a = 97; } if(skip.includes(String.fromCodePoint(a))){ i--; } } ans += String.fromCodePoint(a); }); return ans;}[해설]문제를 아스키 코드로 바꿔서 해석했다. 아스키 코드로 바꿨을 때 s를 맵으로 돌면서 각각의 구간을 더해준다. 하지만 해당 문자 a가 122 즉 z를 넘을 경..
[문제][오답코드]function solution(ingredient) { var answer = 0; ingredient = ingredient.join(""); const pos = '1231'; let num = 0; let count = 0; while(1){ let num = ingredient.indexOf(pos); if(num != -1){ count++; ingredient = ingredient.replace(pos, ''); } else{ break; } } return count;}처음에는 ingredient에서 ..
[문제][풀이코드]function solution(n, lost, reserve) { var answer = 0; const nowlost = lost.filter(lost => !reserve.includes(lost)).sort((a, b) => a - b); const nowreserve = reserve.filter(reserve => !lost.includes(reserve)).sort((a, b) => a - b); answer = n - nowlost.length; for(let i =0 ; i [해설]우선 lost배열에 들어있는 잃어버린 체육복과 reserve 배열에 들어 있는 여분 체육복 중 겹치는 부분이 있다면, 해당 배열을 제거한 뒤 다..
[문제][풀이 코드]function solution(X, Y) { var answer = ''; X = X.split(""); Y = Y.split(""); for(let i = 9; i >= 0; i--){ const num = X.filter((x) => x == i); const num2 = Y.filter((y) => y == i); if(num.length !=0 && num = num2){ answer += String(num2); } } if(answer.length == 0){ answer += -1; } answer = answe..
[문제][풀이 코드]function solution(lottos, win_nums) { var answer = []; let collect = 0; for(let i = 0; i num == lottos[i]); if(check){ collect++; } } const zeronum = lottos.filter((num) => num == 0); let min = 7-collect >= 6 ? 6 : 7-collect; let max = min-zeronum.length [해설]우선 win_nums에 lottos가 0을 제외하고 몇개나 맞췄는지 확인을 해야한다. 그러기 위해서 for문을 돌리고, wi..
[문제][오답코드]function solution(number, limit, power) { var answer = 0; for(let i = 1; i limit) { answer += power; } else { answer += axisnum; } } return answer;}처음 실행했던 코드이다. 이때는 문제가 없다고 생각해 바로 풀었으나, number의 갯수가 최대 10만개까지 되어서 for문을 n으로 두번 돌리면 시간 복잡도가 O(N * N)이 되어서 매우..
[문제][풀이 코드]function solution(n, m, section) { var answer = 1; let drawsection = section[0]; for(let i = 1; i = m ){ drawsection = section[i]; answer++; } } return answer;}[해설]우선 drawsection이라는 변수를 만들어 첫번째로 색칠할 장소인 section[0]에 담고, 처음 칠을 하기 때문에, answer 값을 1을 주고 시작한다. for문으로 section의 length까지 돌고, section[0]의 정보는 이미 들고 있기 때문에 자기 자신을 제외한 section[1]부..
이즈99
'코딩/코딩테스트' 카테고리의 글 목록