문제 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..
알고리즘/프로그래머스 문제풀이
프로그래머스 코딩테스트 연습 python 풀이 모음문제 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]..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 이름별 추억점수 dict를 만들어 photo 하위 배열마다 점수를 더함. 존재하지 않는 점수는 0으로 처리해서 sum함. 코드 def solution(name, yearning, photo): score_dict = dict() for i in range(len(name)): score_dict[name[i]] = yearning[i] op = lambda x: score_dic..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/59039 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 코드 참조 코드 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME is NULL;
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12922 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 "수박"은 n//2만큼 반복 + 마지막 "수"가 있는 경우엔 "수"*(n%2)로 처리 코드 def solution(n): return "수박"*(n//2) + "수"*(n%2)