본문 바로가기

Level3

(5)
[Programmers/Level 3/Python] 입국심사 Programmers(프로그래머스) 레벨 3 입국심사 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 � programmers.co.kr 문제 설명 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 ..
[Programmers/Level 3/Python] 여행경로 Programmers(프로그래머스) 여행경로 코딩테스트 연습 - 여행경로 [[ICN, SFO], [ICN, ATL], [SFO, ATL], [ATL, ICN], [ATL,SFO]] [ICN, ATL, ICN, SFO, ATL, SFO] programmers.co.kr 문제 설명 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 ICN 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 예) [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL", "SFO"]] =>["ICN", "JFK",..
[Programmers/Level 3/Java] 정수 삼각형 Programmers(프로그래머스) 정수 삼각형 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr 문제 설명 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 한다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동이 가능하다. 풀이 동적계획법(Dynamic Programming)의 가장 기본이 되는 문제이다. '경로'를 찾는다기 보다는, 거쳐간 숫자의 '누적 합'이 큰 경우를 찾는 문제라고 생각하면 된다. 코드는 다음과 같이 구현하였다. class Solution { public int solution(int[][..
[Programmers/Level 3/Java] 2 x n 타일링 Programmers(프로그래머스) 2 x n 타일링 코딩테스트 연습 - 2 x n 타일링 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 �� programmers.co.kr 문제 설명 가로 길이가 2이고 세로 길이가 1인 직사각형 모양의 타일을 가지고 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우는 방법의 수를 구하라. 풀이 아래 백준 11726번 2×n 타일링 풀이 참고하자. 조건만 조금 다를 뿐, 동일한 문제이다. [Baekjoon/Silver 3/Java] 11726번: 2×n 타일링 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2..
[Programmers/Level 3/Java] 종이접기 Programmers(프로그래머스) 종이접기 코딩테스트 연습 - 종이접기 직사각형 종이를 n번 접으려고 합니다. 이때, 항상 오른쪽 절반을 왼쪽으로 접어 나갑니다. 다음은 n = 2인 경우의 예시입니다. 먼저 오른쪽 절반을 왼쪽으로 접습니다. 다시 오른쪽 절반을 왼쪽�� programmers.co.kr 문제 설명 직사각형 종이를 n번 접으려고 한다. 이 때, 항상 오른쪽 절반을 왼쪽으로 접는다. 종이를 모두 접은 후 전부 펼쳤을 때, ∨ 모양이 생긴 부분을 0으로, ∧ 모양이 생긴 부분은 1로 표시하여 접힌 부분의 모양 배열을 return 하라. 예) n = 1 -> result = [0] n = 2 -> result = [0, 0, 1] n = 3 -> result = [0, 0, 1, 0, 0, 1,..