본문 바로가기

🏋️‍♀️ Code Practice4

[JS] key값으로 value 값 찾아서 반환하기 문제 💡 로마자에서 숫자로 바꾸기 1~3999 사이의 로마자 s를 인자로 주면 그에 해당하는 숫자를 반환해주세요. 로마 숫자를 숫자로 표기한 각각의 Symbol과 Value는 다음과 같습니다. I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000. 로마자를 숫자로 읽는 방법은 로마자를 왼쪽부터 차례대로 더하면 됩니다. III = 3 XII = 12 XXVII = 27 입니다. 그런데 4를 표현할 때는 IIII가 아니라 IV 입니다. 뒤의 숫자에서 앞의 숫자를 빼주면 됩니다. 9는 IX입니다. I는 V와 X앞에 와서 4, 9 X는 L, C앞에 와서 40, 90 C는 D, M앞에 와서 400, 900 입니다. 풀이 function romanToNum(s){ c.. 2022. 5. 22.
[JS] 중복되는 시작 단어(Prefix) 찾기 문제 💡 strs은 단어가 담긴 배열입니다. 공통된 시작 단어(prefix)를 반환해주세요. 예를 들어 strs = ['start', 'stair', 'step'] return은 'st' strs = ['start', 'wework', 'today'] return은 ' '; 들어가기 전에 처음에 문제만 보고 쉽다고 생각했었지만, 제한 시간 1시간 안에 풀지 못했던 문제이다. 이후에 다른 사람의 풀이를 확인하고 나서야 접근 방법 자체는 근접했지만 왜 풀지 못했는지 알 수 있었다. 복잡한 풀이일수록 중간 중간에 console.log를 통해 확인하는 습관을 가지고, 풀리지 않는다면 사고의 전환을 꼭 해보자! 풀이 const getPrefix = strs => { for (let i=1; i 2022. 5. 14.
[JS] 문자 뒤집기 문제 💡 숫자인 num을 인자로 넘겨주면, 뒤집은 모양이 num과 똑같은지 여부를 반환해주세요. num: 숫자 / return: true or false (뒤집은 모양이 num와 똑같은지 여부) 예를 들어, num = 123 return false => 뒤집은 모양이 321 이기 때문 num = 1221 return true => 뒤집은 모양이 1221 이기 때문 num = -121 return false => 뒤집은 모양이 121- 이기 때문 num = 10 return false => 뒤집은 모양이 01 이기 때문 풀이 const sameReverse = num => { let numString = num.toString(); let reversed = numString.split("").revers.. 2022. 5. 14.
[JS] 특정 수를 더한 배열 출력하기 문제 twoSum함수에 숫자배열과 '특정 수'를 인자로 넘기면, 더해서 '특정 수'가 나오는 index를 배열에 담아 return해 주세요. nums : 숫자 배열 target : 두 수를 더해서 나올 수 있는 합계 return : 두 수의 index를 가진 숫자 배열 예를 들어, nums은 [4, 9, 11, 14] target은 13 nums[0] + nums[1] = 4 + 9 = 13 이죠? 그러면 [0, 1]이 return 되어야 합니다. ( 가정 : target으로 보내는 합계의 조합은 배열 전체 중에 2개 밖에 없다고 가정하겠습니다.) 풀이 const twoSum = (nums, target) => { // twoSum함수에 숫자 배열과 '특정 수'를 인자로 넘기면, // 더해서 '특정 수'.. 2022. 5. 10.