문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 풀이 이름이 주어질 때 다음과 같은 조건을 통해 정렬 후에 이름을 출력하면 되는 문제이다. 동일한 이름은 하나만 출력한다. 이름의 길이를 우선으로 정렬한다. 길이가 같다면, 이름 순으로 정렬한다. 위는 파이썬에서 `set`과 `lambda`를 활용하면 쉽게 해결 할 수 있다. 코드 T = int(input()) for test_case in range(1, T + 1): N = int(input()) names = [None] * N for idx in range(N): cur_name = input() names[idx] = (cur_name, len..
문제 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net 문제 풀이 5 x 5 크기의 토네이도가 방향을 전환하며, 현재 있는 모래에 영향을 미치는 문제이다. 문제를 풀기 위해서는 `상, 하, 좌, 우`로 전환되는 경우의 토네이도에 대해 사전에 초기화가 필요하다. tornado = [ (None, None, 2, None, None), (None, 10, 7, 1, None), (5, 'a', None, None, None), (None, 10, 7, 1, None), (None, N..
문제 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net 문제 풀이 문제에서 배열 A가 주어지면, 배열의 행, 열의 수에 따라 정렬을 수행 후 행렬에 값을 추가한다. 조건은 다음과 같다. 행의 개수가 열의 개수보다 크거나 같은 경우 배열 A의 모든 행에 대해 정렬을 수행한다 행의 개수가 열의 개수보다 작은 경우 배열 A의 모든 열에 대해 정렬을 수행한다. 정렬을 위해서는 한 행 또는 한 열의 수와 등장 횟수를 기준으로 정렬한다. (count, number)와 같은 기준으로 정렬한다. 정렬할 때, 0은 ..
문제 8980번: 택배 입력의 첫 줄은 마을 수 N과 트럭의 용량 C가 빈칸을 사이에 두고 주어진다. N은 2이상 2,000이하 정수이고, C는 1이상 10,000이하 정수이다. 다음 줄에, 보내는 박스 정보의 개수 M이 주어진다. M은 1이 www.acmicpc.net 문제 풀이 접근법을 생각하기까지 시간이 걸렸으며, 다소 어려웠다. 문제의 해답은 각 마을 별로 출발지 도착지를 기준으로 출발 가능한 양을 지속적으로 확인해야 한다는 것이다. 마을 별로 실을 수 있는 최대 박스의 양을 트럭의 용량으로 초기화한다. 입력된 값을 도착지를 기준으로 정렬한다 입력된 값을 순차적으로 돌며, 출발지 도착지에 적재 가능량과 박스의 양을 비교하여 처리한다. 이를 순차적으로 반복하면 요구하는 답을 찾을 수 있다. 코드 f..