Algorithm/Programmers 60

[프로그래머스 Level 0] 나머지 구하기(Python)

📝 Level 0. 나머지 구하기더보기📌 문제 설명 정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요. 📌 제한사항0 0 📌 입출력 예num1num2result3211050📌 입출력 예 설명입출력 예 #1num1이 3, num2가 2이므로 3을 2로 나눈 나머지 1을 return 합니다.입출력 예 #2num1이 10, num2가 5이므로 10을 5로 나눈 나머지 0을 return 합니다. ✏️ 나의 풀이def solution(num1, num2): answer = num1 % num2 return answer ✏️ 다른 풀이(1)def solution(num1, num2): while nu..

[프로그래머스 Level 0] 나이 출력(Python)

📝 Level 0. 나이 출력더보기📌 문제 설명 머쓱이는 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 2022년 기준 선생님의 나이 age가 주어질 때, 선생님의 출생 연도를 return 하는 solution 함수를 완성해주세요. 📌 제한사항0 나이는 태어난 연도에 1살이며 매년 1월 1일마다 1살씩 증가합니다.📌 입출력 예ageresult401983232000📌 입출력 예 설명입출력 예 #12022년 기준 40살이므로 1983년생입니다.입출력 예 #22022년 기준 23살이므로 2000년생입니다. ✏️ 나의 풀이def solution(age): answer = 2022 - age + 1 return answer ✏️ 다른 풀이def solution(age): return 20..

[프로그래머스 Level 0] 숫자 비교하기(Python)

📝 Level 0. 숫자 비교하기더보기📌 문제 설명 정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요. 📌 제한사항0 ≤ num1 ≤ 10,0000 ≤ num2 ≤ 10,000📌 입출력 예num1num2result23-111111799-1📌 입출력 예 설명입출력 예 설명 #1num1이 2이고 num2가 3이므로 다릅니다. 따라서 -1을 return합니다.입출력 예 설명 #2num1이 11이고 num2가 11이므로 같습니다. 따라서 1을 return합니다.입출력 예 설명 #3num1이 7이고 num2가 99이므로 다릅니다. 따라서 -1을 return합니다. ✏️ 나의 풀이def solution(num1, num..

[프로그래머스 Level 0] 두 수의 차(Python)

📝 Level 0. 두 수의 차더보기📌 문제 설명 정수 num1과 num2가 주어질 때, num1에서 num2를 뺀 값을 return하도록 soltuion 함수를 완성해주세요. 📌 제한사항-50000 ≤ num1 ≤ 50000-50000 ≤ num2 ≤ 50000📌 입출력 예num1num2result23-1100298📌 입출력 예 설명입출력 예 #1num1이 2이고 num2가 3이므로 2 - 3 = -1을 return합니다. 입출력 예 #2num1이 100이고 num2가 2이므로 100 - 2 = 98을 return합니다. ✏️ 나의 풀이def solution(num1, num2): answer = num1 - num2 return answer ✏️ 다른 풀이solution = lam..

[프로그래머스 Level 3] 입국심사(Python)

📝 Level 3. 입국심사 더보기 📌 문제 설명 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어질 때, 모든 사람이 심사를 받는데 걸리는 시간의 최솟값을 return 하도록 solution..

[프로그래머스 Level 3] 여행경로(Python)

📝 Level 3. 여행경로 더보기 📌 문제 설명 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 📌 제한사항 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다. tickets의 각 행 [a, b]는 a 공항에서 b 공항으로 가는 항공권이 있다는 의미입니다. 주어진 항공권은 모두 사용해야 합니다. 만일 가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 return 합니다. 모든 도시를 방문할 수 없는 경우는 주어지지 않습니다. 📌 입출..

[프로그래머스 Level 3] 네트워크(Python)

📝 Level 3. 네트워크 더보기 📌 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 📌 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 정수로 표현합니다. i번 컴퓨터와 j번 ..

[프로그래머스 Level 3] 단어 변환(Python)

📝 Level 3. 단어변환 더보기 📌 문제 설명 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","dog","lot","log","cog"]라면 "hit" -> "hot" -> "dot" -> "dog" -> "cog"와 같이 4단계를 거쳐 변환할 수 있습니다. 두 개의 단어 begin, target과 단어의 집합 words가 매개변수로 주어질 때, 최소 몇 단계의 ..

[프로그래머스 Level 2] 게임 맵 최단거리(Python)

📝 Level 2. 게임 맵 최단거리 더보기 📌 문제 설명 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5) 위치에 있는 경우의 예시입니다. 위 그림에서 검은색 부분은 벽으로 막혀있어 갈 수 없는 길이며, 흰색 부분은 갈 수 있는 길입니다. 캐릭터가 움직일 때는 동, 서, 남, 북 방향으로 한 칸씩 이동하며, 게임 맵을 벗어난 길은 갈 수 없습니다. 아래 예시는 캐릭터가 상대 팀 진영으로 가는 두 가지..

[프로그래머스 Level 2] 타겟넘버(Python)

📝 Level 2. 타겟넘버 더보기 📌 문제 설명 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 📌 제한사항 주어지는 숫자의 개수는 2개 이상 20개 이하입니다. 각 숫자는 1 이상 50 이하인..