전체 글
-
[프로그래머스 / Python] 더 맵게 | 초코더알고리즘/프로그래머스 2020. 8. 29. 02:29
https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같�� programmers.co.kr 문제 스코빌지수 리스트가 주어지면 모든 스코빌지수를 K이상으로 만들어야함. 스코빌지수는 가장작은스코빌지수+(두번째로작은스코빌지수*2) 수식을 사용해서 K이상으로 만든다. 풀이 1. while문을 사용해서 가장작은 스코빌지수가 K보다 작을 경우 계속반복 1-1. 만약 스코빌지수가 1개 남았는데 그 1개가 K보다 작을경우 -1을 리턴 1-2. 스코빌..
-
[백준 / Python] 2309번 일곱 난쟁이 | 초코더알고리즘/백준 2020. 8. 23. 18:50
https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net 문제 9명의 난쟁이 키를 입력받아 합이 100이되는 7명의 난쟁이 출력하기 풀이 combination(조합)을 이용해서 쉽게 풀었습니다. 전체코드 from itertools import combinations high=[] for i in range(9): high.append(int(input().strip())) high=sorted(high) for i in combinations(high,7): i..
-
[백준 / Python] 3055번 탈출 | 초코더알고리즘/백준 2020. 8. 22. 01:10
https://www.acmicpc.net/problem/3055 3055번: 탈출 문제 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치�� www.acmicpc.net 문제 .(빈곳) *(물) X(돌) D(비버굴) S(고슴도치) 가 주어지고 고슴도치가 비버굴로 이동하기까지 걸리는 최소시간을 구하는것. 단, 물에 잠기면 이동할 수 없고, 돌이 있는 곳으로도 이동할 수 없다. 풀이 1. 물, 고슴도치가 있는 위치를 queue에 담는다. - 여기서 주의해야할점은 물은 append(), 고슴도치는 appendleft()를 해주어야합니다! 예시로 2 2 가 들어오면 답은 '1'이..
-
[프로그래머스 / Python] 다리를 지나는 트럭 | 초코더알고리즘/프로그래머스 2020. 8. 21. 15:01
https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이�� programmers.co.kr 문제 다리길이, 다리가버틸수있는무게, 트럭여러대리스트가 주어지면 총 몇초뒤에 모든 트럭이 지날수있는지 구하는문제. 단, 트럭은 1초에 1만큼 움직일 수 있다. 접근법 처음에 문제 예시에 설명하는것처럼 원래트럭리스트, 지나고있는트럭리스트를 따로 두고 시간을 더해가면서 구하려고 했는데 그럴경우에 각 트럭이 길이를 얼만큼 지났는지 구하는게 굉장히 ..
-
[프로그래머스 / Python] 위장 | 초코더알고리즘/프로그래머스 2020. 8. 21. 01:35
https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 문제 의상의이름,의상의종류이 주어지면 가짓수를 구하는 문제. 단, 적어도 하나라도 걸쳐야함. 그리고 의상의 이름이 같은 경우는 없으므로 우리는 의상의 종류만 고려해주면된다. 접근법 의상 종류의 수를 각각 곱해주면 되는 것까지는 다들 쉽게 생각하셨을것 같습니다. 하지만 만약 모자1,상의2,하의3이라면 (모자1,상의1),(모자1,하의1) 이런식으로 한가지씩 빠졌을 경우 어떻게 고려해주어야할지 고민을 많이했습니다 ㅜ 생각보다 매우 단순해서 조금 허무했어용.. 각 가지수에 + 1을 해주어서 곱하면 됩니다! 즉 (모자1,모자0),(상의1,상의2,상의0),(..
-
[프로그래머스 / Python] 전화번호 목록 | 초코더알고리즘/프로그래머스 2020. 8. 19. 17:33
https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조�� programmers.co.kr 문제 전화번호부가 주어지면 한 번호가 다른 번호의 접두어가 있는지 확인하고 있으면 False 없으면 True를 출력하는 문제. 접근법 1. 2중 for문을 써서 전화번호부 맨앞의 요소부터 서로서로 비교해준다. 1-1. 만약 비교하려는 전화번호가 다음 전화번호보다 길이가 짧을경우 if 비교하려는 전화번호 == 다음전화번호[0:len(비교하려는전화번호)]: ..
-
[백준 / Python] 16956번 늑대와 양 | 초코더알고리즘/백준 2020. 8. 18. 20:48
https://www.acmicpc.net/problem/16956 16956번: 늑대와 양 크기가 R×C인 목장이 있고, 목장은 1×1 크기의 칸으로 나누어져 있다. 각각의 칸에는 비어있거나, 양 또는 늑대가 있다. 양은 이동하지 않고 위치를 지키고 있고, 늑대는 인접한 칸을 자유롭게 � www.acmicpc.net 문제 rxc크기의 목장이 주어지고, 칸은 비어있거나 양(S)또는 늑대(W)가 있다. 늑대는 상하좌우로 움직일 수 있고 늑대가 양이 있는 칸으로 이동하지 못하게 울타리를 설치하라. 접근법 1. 모든 좌표를 탐색 1-1. 늑대(W)일경우, 상하좌우를 탐색하여 인접한곳에 양이 있으면 flag 변수를 True로 변경 1-2. 양(S)인경우, 넘어감 1-3. .(빈칸)인경우, 모두 울타리로 채워줌 ..
-
[프로그래머스 / Python] 기능개발 | 초코더알고리즘/프로그래머스 2020. 8. 18. 17:56
https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 �� programmers.co.kr 문제 작업진도와 작업속도가 주어질 경우 각 배포마다 몇개의 기능이 수행되는지 구하는 함수 접근법 1. 각 작업이 완료되기까지 몇일이 걸리는지를 days리스트를 구해줌 1-1. 각작업의 속도를 계속 더해주면서 한번 더할 때마다 cnt도 증가시켜줌 1-2. 100보다 커지는 지점의 cnt를 저장해주면 그것이 완료되는 날짜 2. 예제처럼 작업진도와 속도가..