SoftWare Expert Academy 19

SWEA - 햄버거 다이어트(5215)

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 평소 햄버거를 좋아하던 민기는 최근 부쩍 늘어난 살 때문에 걱정이 많다. 그렇다고 햄버거를 포기할 수 없었던 민기는 햄버거의 맛은 최대한 유지하면서 정해진 칼로리를 넘지 않는 햄버거를 주문하여 먹으려고 한다. 민기가 주로 이용하는 햄버거 가게에서는 고객이 원하는 조합으로 햄버거를 만들어서 준다. 하지만 재료는 미리 만들어서 준비해놓기 때문에 조합에 들어가는 재료를 잘라서 조합해주지는 않고, 재료를 선택하면 준비해놓은 재료를 그대로 사용하여 조합해준다. 민기는 이 가게에서 자신이 먹었던 햄버거의 재료에 대한 맛을 자신의 오랜 경험을 통해 점수를 매겨놓았다. 민..

CodingTest 2023.11.02

SWEA - Flatten(1208)

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 한 쪽 벽면에 다음과 같이 노란색 상자들이 쌓여 있다. 높은 곳의 상자를 낮은 곳에 옮기는 방식으로 최고점과 최저점의 간격을 줄이는 작업을 평탄화라고 한다. 평탄화를 모두 수행하고 나면, 가장 높은 곳과 가장 낮은 곳의 차이가 최대 1 이내가 된다. 평탄화 작업을 위해서 상자를 옮기는 작업 횟수에 제한이 걸려있을 때, 제한된 횟수만큼 옮기는 작업을 한 후 최고점과 최저점의 차이를 반환하는 프로그램을 작성하시오. 가장 높은 곳에 있는 상자를 가장 낮은 곳으로 옮기는 작업을 덤프라고 정의한다. 위의 예시에서 제1회 덤프를 수행한 이후 화면은 다음과 같다 A부분의..

CodingTest 2023.10.28

SWEA - 숫자 배열 회전(1961)

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 N x N 행렬이 주어질 때, 시계 방향으로 90도, 180도, 270도 회전한 모양을 출력하라. [제약 사항] N은 3 이상 7 이하이다. [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에 N이 주어지고, 다음 N 줄에는 N x N 행렬이 주어진다. 접근방식 90도 돌릴 배열, 180도 돌릴 배열, 270도 돌릴 배열을 빈 배열로 선언 문제가 처음에 이해되지 않아 예제 문제로 로직을 파악해봤음 arr = [[1,2,3], [4,5,6], [7,8,9]] 일 경우, 배열의..

CodingTest 2023.10.27

SWEA - 파스칼의 삼각형(2005)

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 크기가 N인 파스칼의 삼각형을 만들어야 한다. 파스칼의 삼각형이란 아래와 같은 규칙을 따른다. 1. 첫 번째 줄은 항상 숫자 1이다. 2. 두 번째 줄부터 각 숫자들은 자신의 왼쪽과 오른쪽 위의 숫자의 합으로 구성된다. N이 4일 경우, N을 입력 받아 크기 N인 파스칼의 삼각형을 출력하는 프로그램을 작성하시오. [제약 사항] 파스칼의 삼각형의 크기 N은 1 이상 10 이하의 정수이다. (1 ≤ N ≤ 10) [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스에는 N이 주어진다. 접근방식 ..

CodingTest 2023.10.27

SWEA - 쉬운 거스름돈(1970)

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 우리나라 화폐 ‘원’은 금액이 높은 돈을 우선적으로 계산할 때 돈의 개수가 가장 최소가 된다. S마켓에서 사용하는 돈의 종류는 다음과 같다. 50,000 원 10,000 원 5,000 원 1,000 원 500 원 100 원 50 원 10 원 S마켓에서 손님에게 거슬러 주어야 할 금액 N이 입력되면 돈의 최소 개수로 거슬러 주기 위하여 각 종류의 돈이 몇 개씩 필요한지 출력하라. [예제] N이 32850일 경우, 50,000 원 : 0개 10,000 원 : 3개 5,000 원 : 0개 1,000 원 : 2개 500 원 : 1개 100 원 : 3개 50 원 : ..

CodingTest 2023.10.27

SWEA - 간단한 압축풀기(1946)

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 원본 문서는 너비가 10인 여러 줄의 문자열로 이루어져 있다. 문자열은 마지막 줄을 제외하고 빈 공간 없이 알파벳으로 채워져 있고 마지막 줄은 왼쪽부터 채워져 있다. 이 문서를 압축한 문서는 알파벳과 그 알파벳의 연속된 개수로 이루어진 쌍들이 나열되어 있다. (예 : A 5  AAAAA) 압축된 문서를 입력 받아 원본 문서를 만드는 프로그램을 작성하시오. [예제] 압축된 문서의 내용 A 10 B 7 C 5 압축을 풀었을 때 원본 문서의 내용 AAAAAAAAAA BBBBBBBCCC CC [제약사항] 1. 압축된 문서의 알파벳과 숫자 쌍의 개수 N은1이상 10..

CodingTest 2023.10.25

SWEA - 두 개의 숫자열(1959)

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 N 개의 숫자로 구성된 숫자열 Ai (i=1~N) 와 M 개의 숫자로 구성된 숫자열 Bj (j=1~M) 가 있다. 아래는 N =3 인 Ai 와 M = 5 인 Bj 의 예이다. Ai 나 Bj 를 자유롭게 움직여서 숫자들이 서로 마주보는 위치를 변경할 수 있다. 단, 더 긴 쪽의 양끝을 벗어나서는 안 된다. 서로 마주보는 숫자들을 곱한 뒤 모두 더할 때 최댓값을 구하라. 위 예제의 정답은 아래와 같이 30 이 된다. [제약 사항] N 과 M은 3 이상 20 이하이다. [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주..

CodingTest 2023.10.25

SWEA - 패턴 마디의 길이(2007)

문제 패턴에서 반복되는 부분을 마디라고 부른다. 문자열을 입력 받아 마디의 길이를 출력하는 프로그램을 작성하라. [제약 사항] 각 문자열의 길이는 30이다. 마디의 최대 길이는 10이다. [입력] 가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 번째 줄에는 길이가 30인 문자열이 주어진다. 접근방식 입력되는 문자열을 words 변수에 받음 그리고 문자열을 한 문자씩 자르기 위해 list(words)를 listed_words라는 변수에 할당 빈 배열 arr를 선언해주고 listed_words길이만큼 j를 인자로 for문을 돌면서 j번째 문자가 arr에 없으면 arr에 할당해줌 만약 문자가 있으면 해당 문자가 문자열 반복이 끝나고 나오는 ..

CodingTest 2023.10.23

SWEA - 스도쿠 검증(1974)

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 스도쿠는 숫자퍼즐로, 가로 9칸 세로 9칸으로 이루어져 있는 표에 1 부터 9 까지의 숫자를 채워넣는 퍼즐이다. 같은 줄에 1 에서 9 까지의 숫자를 한번씩만 넣고, 3 x 3 크기의 작은 격자 또한, 1 에서 9 까지의 숫자가 겹치지 않아야 한다. 입력으로 9 X 9 크기의 스도쿠 퍼즐의 숫자들이 주어졌을 때, 위와 같이 겹치는 숫자가 없을 경우, 1을 정답으로 출력하고 그렇지 않을 경우 0 을 출력한다. [제약 사항] 1. 퍼즐은 모두 숫자로 채워진 상태로 주어진다. 2. 입력으로 주어지는 퍼즐의 모든 숫자는 1 이상 9 이하의 정수이다. 접근방식 arr..

CodingTest 2023.10.21

SWEA - 어디에 단어가 들어갈 수 있을까(1979)

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 N X N 크기의 단어 퍼즐을 만들려고 한다. 입력으로 단어 퍼즐의 모양이 주어진다. 주어진 퍼즐 모양에서 특정 길이 K를 갖는 단어가 들어갈 수 있는 자리의 수를 출력하는 프로그램을 작성하라. [예제] N = 5, K = 3 이고, 퍼즐의 모양이 아래 그림과 같이 주어졌을 때 길이가 3 인 단어가 들어갈 수 있는 자리는 2 곳(가로 1번, 가로 4번)이 된다. [제약 사항] 1. N은 5 이상 15 이하의 정수이다. (5 ≤ N ≤ 15) 2. K는 2 이상 N 이하의 정수이다. (2 ≤ K ≤ N) 접근방식 0과 1로 이뤄진 NxN 배열이 주어지면 연속된..

CodingTest 2023.10.21