- 풀이 (오답)
function solution(n) { let answer = 0; let a = [] for(let i=4; i<=n; i++ ){ if(i%2===0 || i%3===0 ){ a.push(i) } } answer = a.length return answer } 그러나...오답!!
- 다른 풀이
function solution(n) { let arr = new Set(); for(let i = 1; i <= n; i++){ for(let j = 2; j < i; j++){ if(i % j === 0) arr.add(i); } } return arr.size; } 사실 이해가 되진 않는다..
- 다른 풀이 (광기)
function solution(n) { if (n === 1) return 0; if (n === 2) return 0; if (n === 3) return 0; if (n === 4) return 1; if (n === 5) return 1; if (n === 6) return 2; if (n === 7) return 2; if (n === 8) return 3; if (n === 9) return 4; if (n === 10) return 5; if (n === 11) return 5; if (n === 12) return 6; if (n === 13) return 6; if (n === 14) return 7; if (n === 15) return 8; if (n === 16) return 9; if (n === 17) return 9; if (n === 18) return 10; if (n === 19) return 10; if (n === 20) return 11; if (n === 21) return 12; if (n === 22) return 13; if (n === 23) return 13; if (n === 24) return 14; if (n === 25) return 15; if (n === 26) return 16; if (n === 27) return 17; if (n === 28) return 18; if (n === 29) return 18; if (n === 30) return 19; if (n === 31) return 19; if (n === 32) return 20; if (n === 33) return 21; if (n === 34) return 22; if (n === 35) return 23; if (n === 36) return 24; if (n === 37) return 24; if (n === 38) return 25; if (n === 39) return 26; if (n === 40) return 27; if (n === 41) return 27; if (n === 42) return 28; if (n === 43) return 28; if (n === 44) return 29; if (n === 45) return 30; if (n === 46) return 31; if (n === 47) return 31; if (n === 48) return 32; if (n === 49) return 33; if (n === 50) return 34; if (n === 51) return 35; if (n === 52) return 36; if (n === 53) return 36; if (n === 54) return 37; if (n === 55) return 38; if (n === 56) return 39; if (n === 57) return 40; if (n === 58) return 41; if (n === 59) return 41; if (n === 60) return 42; if (n === 61) return 42; if (n === 62) return 43; if (n === 63) return 44; if (n === 64) return 45; if (n === 65) return 46; if (n === 66) return 47; if (n === 67) return 47; if (n === 68) return 48; if (n === 69) return 49; if (n === 70) return 50; if (n === 71) return 50; if (n === 72) return 51; if (n === 73) return 51; if (n === 74) return 52; if (n === 75) return 53; if (n === 76) return 54; if (n === 77) return 55; if (n === 78) return 56; if (n === 79) return 56; if (n === 80) return 57; if (n === 81) return 58; if (n === 82) return 59; if (n === 83) return 59; if (n === 84) return 60; if (n === 85) return 61; if (n === 86) return 62; if (n === 87) return 63; if (n === 88) return 64; if (n === 89) return 64; if (n === 90) return 65; if (n === 91) return 66; if (n === 92) return 67; if (n === 93) return 68; if (n === 94) return 69; if (n === 95) return 70; if (n === 96) return 71; if (n === 97) return 71; if (n === 98) return 72; if (n === 99) return 73; if (n === 100) return 74; return undefined; }
- 풀이
function solution(my_string) { my_string.split('') let answer = new Set(my_string) return [...answer].join('') } 중복 값 찾기 위해 반복문을 겹쳐서 시도도 해보았지만, 도저히 찾지 못해 분명 중복을 없애주는 메서드가 있을 거야 하며 구글링을 한 결과 new set을 발견!!
[ 'p', 'e', 'o', 'p', 'l', 'e' ] // 이 배열에 new Set을 하면 Set(4) { 'p', 'e', 'o', 'l', __proto__: {} } // 중복 값을 제거하고 이런 모양이 된다. 음...흥미롭군
- 풀이
function solution(letter) { let answer = [] let mos = [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."] let letterArr = letter.split(' ') for(let i=0; i<letterArr.length; i++){ if(mos[0]===letterArr[i]){ answer.push("a") }else if(mos[1]===letterArr[i]){ answer.push("b") }else if(mos[2]===letterArr[i]){ answer.push("c") }else if(mos[3]===letterArr[i]){ answer.push("d") }else if(mos[4]===letterArr[i]){ answer.push("e") }else if(mos[5]===letterArr[i]){ answer.push("f") }else if(mos[6]===letterArr[i]){ answer.push("g") }else if(mos[7]===letterArr[i]){ answer.push("h") }else if(mos[8]===letterArr[i]){ answer.push("i") }else if(mos[9]===letterArr[i]){ answer.push("j") }else if(mos[10]===letterArr[i]){ answer.push("k") }else if(mos[11]===letterArr[i]){ answer.push("l") }else if(mos[12]===letterArr[i]){ answer.push("m") }else if(mos[13]===letterArr[i]){ answer.push("n") }else if(mos[14]===letterArr[i]){ answer.push("o") }else if(mos[15]===letterArr[i]){ answer.push("p") }else if(mos[16]===letterArr[i]){ answer.push("q") }else if(mos[17]===letterArr[i]){ answer.push("r") }else if(mos[18]===letterArr[i]){ answer.push("s") }else if(mos[19]===letterArr[i]){ answer.push("t") }else if(mos[20]===letterArr[i]){ answer.push("u") }else if(mos[21]===letterArr[i]){ answer.push("v") }else if(mos[22]===letterArr[i]){ answer.push("w") }else if(mos[23]===letterArr[i]){ answer.push("x") }else if(mos[24]===letterArr[i]){ answer.push("y") }else if(mos[25]===letterArr[i]){ answer.push("z") } } return answer.join('') }
- 다른 풀이
function solution(letter) { let morse = { '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f', '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l', '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r', '...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x', '-.--':'y','--..':'z' }; return letter.split(' ').map(v=>morse[v]).join(''); } 열받는다..
'.-' : 'a
= '.-' 이면 'a'이다
if( 조건문)
을 사용
map을 통해 반복문 역할 수행하며 map(v=>morse[v]
) morse 배열을 각각돌며 조건문을 발동시켰다.
- 풀이
function solution(before, after) { let answer = 0; let beforeAnswer = before.split('') let strinBefore = beforeAnswer.sort().join('') console.log(strinBefore) let afterAnswer = after.split('') let stringAfter = afterAnswer.sort().join('') console.log(stringAfter) if(strinBefore===stringAfter){ answer = 1; }else{ answer = 0; } return answer } 코드가 길다고 과연 나쁜걸까요?ㅋㅋㅋㅋ 우선 before값과 after값으로 받은 문자열을 배열로 나누고 나눈 배열을 오름차순으로 정렬합니다. 그리고 각각의 배열을 비교해서 같으면 1을 다르면 0을 출력 아 얼마나 직관적인가...
- 다른 풀이
function solution(before, after) { return before.split('').sort().join('') === after.split('').sort().join('') ? 1 : 0; } 열받는다.^^