전체 글

공부하고 삽질한 것 정리하는 블로그입니다. 코딩 테스트 대비를 위한 백준-프로그래머스 문제 풀이, pytorch/ubuntu 에러 해결법, 논문 리뷰 등을 올립니다.
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12925 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 코드 참조 코드 def solution(s): return int(s)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 skip에 속하지 않은 알파벳만 따로 정리하고(diction), diction에서의 index를 딕셔너리로 따로 정리함. 이후에는 그냥 index 이후의 diction 내의 알파벳을 저장하여 풀이함. 코드 def solution(s, skip, index): diction = [chr(i+ord('a')) for i in range(26) if chr(i+ord('a')) not..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/92334 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 모든 유저에 대해서 신고 당한 횟수, 날 신고한 유저 명단을 딕셔너리로 정리함. 모든 유저에 대해 받을 메일의 수를 0 으로 두고 새로운 딕셔너리를 만들고, 신고한 사람이 정지를 당하면 메일을 받을 때마다 += 1 해줌. 코드 def solution(id_list, report, k): status = {ID : 0 for ID in id_list} # 누적 신고수 player =..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 선수들의 현재 순위를 딕셔너리로 관리하며, 추월하면 스왑하기. 코드 def solution(players, callings): status = {} status = {key: i for i, key in enumerate(players)} for name in callings: idx = status[name] players[idx], players[idx-1] = players..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 ''.join으로 문자열 치환하여 find, index로 찾고 string[:idx] + string[idx+4:] 이런식으로 풀이하거나 리스트로 풀이하는데 리스트를 매번 + 연산을 통해 list[:idx] + list[idx+4:] 하면 시간초과 남. stack을 쌓아가면서 뒤에서 4개의 원소만 확인하는 것이 이 문제의 핵심 cf) 파이썬에서 del 연산은 삭제한 후 뒤의 원소..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/132267 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 단순 구현으로 풀이함. 다른 사람의 풀이 보니까 아예 한 회에 소비하는 병을 a-b로 두고 풀이한 게 있더라.. 훨 간결함 코드 def solution(a, b, n): res = 0 while n//a>0: tmp = (n//a)*b n %= a n += tmp res += tmp return res
문제 https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 명함을 하나씩 회전해보면서 회전했을 때 필요한 지갑 너비가 더 작아지는 경우에만 회전시킴. 다른분들 코드 보니까 모든 명함을 돌면서 가로, 세로 중 작은 값들을 모아 가장 큰 값을 구하고 남은 가로, 세로 중 큰값들을 모아 가장 큰값을 구하여 곱해주는 한줄 코드도 있더라..ㄷㄷ 우리는 지갑의 최소 넓이가 필요한 것이기 때문에, 이러한 코드로 간결하게 정리할 수 있다. 코드 def ..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 단순 구현 완전탐색. 코드 def solution(answers): p1 = [1,2,3,4,5,1,2,3,4,5] p2 = [2,1,2,3,2,4,2,5] p3 = [3,3,1,1,2,2,4,4,5,5] res = [0, 0, 0] for i in range(len(answers)): if answers[i] == p1[i%10] : res[0] += 1 if answers[i]..
감자156
감자블로그