본문 바로가기

programmers5

코딩테스트5 오늘은 오랜만에 코테. 오늘은 세 문제정도 리뷰하려고 함 def solution(a,b): return sum([x*y for x,y in zip(a,b)]) solution = lambda x, y: sum(a*b for a, b in zip(x,y)) 정말 세상은 넓고 잘하는 사람은 많다. 보니까 def solution(absolutes, signs): answer = 0 for i, a in enumerate(absolutes): if signs[i]: answer += absolutes[i] else: answer -= absolutes[i] return answer def solution(absolutes, signs): return sum(absolutes if sign else -absolu.. 2022. 5. 31.
코딩테스트 4 - 포기한 문제 아무리 그래도 고작 level 2를 4시간 잡고 있는 건 참 너무하다. 난 바보다. 문제: 프로그래머스 - (추가 예정) 난이도: level 2 나의 코드 def solution(n): answer = "" answer, i = cal(n) if i != 1: for k in range(i-1): n = n - pow(3,k) answer, i = cal(n-2) if i+1 != len(answer): answer = "0" + answer answer = answer.replace('2','4') answer = answer.replace('1','2') answer = answer.replace('0','1') reversed_str = "".join(reversed(answer)) return r.. 2022. 4. 1.
프로그래머스3 - 첫 level up! 오늘은 level 1이 아니라 level 2에 도전해보았다! 문제 난이도가 많이 차이나는 것 같았다. ㅠㅠ 바로 풀이법이 떠오르지 않았고 시간도 오래걸렸다. 2시간 내에 풀고 안풀리면 답을 보겠다는 다짐과 다르게 정확히 시간을 잰 건 아니였지만 아마도 2시간을 초과 했을 것이다. 그래도 끝내 풀었으니 되었다!! 문제: 프로그래머스 - (추가예정) 난이도: Level 2 내 답안 def solution(record): nickname = {} num_ans = 0 answer=[] for str in record: uid = str[6:13] n_name = str[14:] if (str in "Enter"): nickname[uid] = n_name answer[num_ans] = uid + "님이 들어.. 2022. 3. 31.
프로그래머스 2 - 더 좋은 코드란. 기본은 틀리지 말자. 오늘도 가장 쉬운 코딩테스트 문제를 하나 풀어봤다. 문제: 프로그래머스 - (추가예정) 난이도: Level 1 오늘도 기초적인 것에서 막혔다^^ 능숙한 프로그래머가 되는 건 아직 멀었다ㅠㅠ num_match, num_zero = 0 로 정의 하니까 아래와 같은 에러가 떴다. cannot unpack non-iterable int object 이를 해결하기 위해서는 num_match = num_zero = 0 이렇게 ,가 아니라 =을 써주거나 num_match = 0 num_zero = 0 이렇게 나누어 주면 해결할 수 있다. 그리고 코드를 다 짰는데 def solution(lottos, win_nums): num_match = num_zero = 0 for i in lottos: if(i==0): num.. 2022. 3. 30.
코딩테스트 1 - 런타임 에러란 오늘은 내가 처음 풀어본 코딩 테스트 후기다. 문제: 프로그래머스 - (추가예정) 난이도: Level 1 처음에 아래처럼 풀었는데 런타임 에러가 떴다. def solution(price, money, count): answer = (price * total_count(count)) - money return max(0,answer) def total_count(count): if(count == 1): return 1 else: return total_count(count-1) + count 런타임에러란, 코드가 충분히 효율적이지 않아서 실행시간이 초과되었다는 뜻이다. 그래서 보다 간결한 코드가 필요하다. 아마도 재귀함수를 사용해서 그런가보다. 그런데 문제를 풀 당시에는 런타임 에러를 생각못하고 data.. 2022. 3. 29.
반응형