본문 바로가기

전체 글267

[프로그래머스] 문자열 내 마음대로 정렬하기 (Python , JS) Python sort(), sorted()를 활용 def solution(strings, n): strings.sort() answer = sorted(strings, key=lambda x: x[n]) return answer JS function solution(strings, n) { let answer = []; answer = strings.sort((a, b) => { if (a[n] b[n]) return 1; // b comes first else { // a[n] === b[n]: got the same element of n'th idx if (a < b) return -1; // a comes.. 2021. 1. 28.
[프로그래머스] 두 정수 사이의 합 (JS, Python) JS function solution(a, b) { if (a === b) { return a } let tmp = 0 if (a > b) { tmp = a; //tmp = 5 a = b; // a = 3 b = tmp; }; let answer = 0; for (let i=a;i b: tmp = a a = b b = tmp return sum(range(a,b+1)) python swap def adder(a, b): if a > b: a, b = b, a return sum(range(a,b+1)) 2021. 1. 26.
[프로그래머스] 나누어 떨어지는 숫자 배열 (JS, Python) JS function solution(arr, divisor) { let tmp = []; for (let i=0; i a-b) } } Next time I have to try filter method and ? operator. function solution(arr, divisor) { var answer = arr.filter(v => v%divisor == 0); return answer.length == 0 ? [-1] : answer.sort((a,b) => a-b); } Python def solution(arr, divisor): answer = [] for i in range(len(arr)): if arr[i] % divisor == 0: answer.append(arr[i]) els.. 2021. 1. 26.
[프로그래머스] 같은 숫자는 싫어 (python, js) js function solution(arr) { let answer = []; for (let i=0; i val != arr[index+1]); } Python def solution(arr): answer = [] answer.append(arr[0]) for i in range(1, len(arr)): if arr[i-1] != arr[i]: answer.append(arr[i]) else: continue return answer 두 element들을 비교할때 비교 대상은 i vs. i+1로 from 0 to len(arr)-1 까지 했는데 Javascript에서는 index error가 발생하지 않았는데 Python에서는 index error가 발생했다. 왜 그런걸까 2021. 1. 26.
[프로그래머스] 3진법 뒤집기 (JS, Python) JS function solution(n) { let answer = n.toString(3).split("").reverse().join("");; return parseInt(answer, 3); } toString 메서드로 3진법표현으로 만들고 split으로 쪼갠후, reverse, 다시 join으로 합치고, parseInt 함수로 3진법 표현을 다시 10진법 값인 정수로. Python 구글링해보니 파이썬에는 2,8,10,16 진수 외에 다른 n 진수는 내장함수가 없다고 한다. notation = '0123456789ABCDEF' # 16진수 def numeral_system(number, base): q, r = divmod(number, base) n = notation[r] return num.. 2021. 1. 26.
[프로그래머스] 가운데 글자 가져오기 (JS, Python) JS 이게 간결한 솔루션이지만 여기서 floor를 사용하다보니 틀리는데 이유는, 0.5로 나오는 mid index를 floor를 써버리면 짝수가 되버리기 때문에 무의미한 조건문이 되어버린다. 문제의 핵심은 substr를 사용해서 string을 올바르게 인덱싱하는 것인데, mid index 짝/홀 구분에서 틀림. function solution(s) { return s.substr(Math.ceil(s.length / 2) - 1, s.length % 2 === 0 ? 2 : 1); } 며칠전(?)에 배웠던 "?" 오퍼레이터도 이 솔루션에 substr으로 사용 가능하다는 점. substr VS. substring str.substr(시작 인덱스, 추출 갯수) str.substring(시작 인덱스번호, 끝 .. 2021. 1. 25.
[프로그래머스] 2016년 (Python, JS) Python days = ['THU','FRI','SAT','SUN','MON','TUE','WED'] months = [31,29,31,30,31,30,31,31,30,31,30,31] def solution(a, b): my_days = (sum(months[:a-1]) + b) % 7 answer = days[my_days] # answer = [] return answer 달별로 날짜 계산를 활용해야겠다는 생각까지는 했는데 %(modulo) 오퍼레이터를 사용해서 나머지를 활용한 indexing까지는 생각이 안났다. Javascript Javascript로 Sum을 하기위해서 찾아보니 reduce를 사용한다고 나온다. 하지만 slicing할 때 1월일 경우 start = end인 상황에서 에러가 발.. 2021. 1. 25.
[프로그래머스] 두 개 뽑아서 더하기 (JS, Python) Javascript function onlyUnique(value, index, self) { return self.indexOf(value) === index; } function solution(numbers) { let answer = []; for (let i=0;i 2021. 1. 25.
[프로그래머스] k번째 수 (JS, Python) Javascript function getArray(a, c) { let s = parseInt(c.slice(0,1)); let e = parseInt(c.slice(1,2)); let idx = parseInt(c.slice(-1)); let tmp = a.slice(s-1,e); return tmp.sort((a, b) => a - b)[idx-1]; } function solution(array, commands) { let tmp_ans = []; for (let i=0; i a - b); console.log(numbers); Python def getArr(a,c): # c = [int(x) for x in c] a = a[c[0]-1:c[1]] a.sort() return a[c[2]-1].. 2021. 1. 24.