728x90
반응형

Programming/SWEA 105

[SWEA 4874].[파이썬 S/W 문제해결 기본] 5일차 - Forth

SW Expert Academy에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다. https://swexpertacademy.com/main/main.do 문제 : Forth라는 컴퓨터 언어는 스택 연산을 기반으로 하고 있어 후위 표기법을 사용한다. 예를 들어 3+4는 다음과 같이 표기한다. 3 4 + . Forth에서는 동작은 다음과 같다. 숫자는 스택에 넣는다. 연산자를 만나면 스택의 숫자 두 개를 꺼내 더하고 결과를 다시 스택에 넣는다. ‘.’은 스택에서 숫자를 꺼내 출력한다. Forth 코드의 연산 결과를 출력하는 프로그램을 만드시오. 만약 형식이 잘못되어 연산이 불가능한 경우 ‘error’를 출력한다. 다음은 Forth 연산의 예이다. [입력] 첫 줄에 테스트 케이스 개수..

Programming/SWEA 2021.08.05

[SWEA 4873].[파이썬 S/W 문제해결 기본] 4일차 - 반복문자 지우기

SW Expert Academy에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다. https://swexpertacademy.com/main/main.do 문제 : 문자열 s에서 반복된 문자를 지우려고 한다. 지워진 부분은 다시 앞뒤를 연결하는데, 만약 연결에 의해 또 반복문자가 생기면 이부분을 다시 지운다. 반복문자를 지운 후 남은 문자열의 길이를 출력 하시오. 남은 문자열이 없으면 0을 출력한다. 다음은 CAAABBA에서 반복문자를 지우는 경우의 예이다. CAAABBA 연속 문자 AA를 지우고 C와 A를 잇는다. CABBA 연속 문자 BB를 지우고 A와 A를 잇는다. CAA 연속 문자 AA를 지운다. C 1글자가 남았으므로 1을 리턴한다.[입력] 첫 줄에 테스트 케이스 개수 T..

Programming/SWEA 2021.08.04

[SWEA 4871].[파이썬 S/W 문제해결 기본] 4일차 - 그래프 경로

SW Expert Academy에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다. https://swexpertacademy.com/main/main.do 문제 : V개 이내의 노드를 E개의 간선으로 연결한 방향성 그래프에 대한 정보가 주어질 때, 특정한 두 개의 노드에 경로가 존재하는지 확인하는 프로그램을 만드시오. 두 개의 노드에 대해 경로가 있으면 1, 없으면 0을 출력한다. 예를 들어 다음과 같은 그래프에서 1에서 6으로 가는 경로를 찾는 경우, 경로가 존재하므로 1을 출력한다. 노드번호는 1번부터 존재하며, V개의 노드 중에는 간선으로 연결되지 않은 경우도 있을 수 있다. [입력] 첫 줄에 테스트 케이스 개수 T가 주어진다. 1≤T≤50 다음 줄부터 테스트 케이스의 첫 줄..

Programming/SWEA 2021.08.04

[SWEA 4866].[파이썬 S/W 문제해결 기본] 4일차 - 괄호검사

SW Expert Academy에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다. https://swexpertacademy.com/main/main.do 문제 : 주어진 입력에서 괄호 {}, ()가 제대로 짝을 이뤘는지 검사하는 프로그램을 만드시오. 예를 들어 {( )}는 제대로 된 짝이지만, {( })는 제대로 된 짝이 아니다. 입력은 한 줄의 파이썬 코드일수도 있고, 괄호만 주어질 수도 있다. 정상적으로 짝을 이룬 경우 1, 그렇지 않으면 0을 출력한다. print(‘{‘) 같은 경우는 입력으로 주어지지 않으므로 고려하지 않아도 된다.[입력] 첫 줄에 테스트 케이스 개수 T가 주어진다. 1≤T≤50 다음 줄부터 테스트 케이스 별로 온전한 형태이거나 괄호만 남긴 한 줄의 코드가..

Programming/SWEA 2021.08.04

[SWEA 4869].[파이썬 S/W 문제해결 기본] 4일차 - 종이붙이기

SW Expert Academy에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다. https://swexpertacademy.com/main/main.do 문제 : 어린이 알고리즘 교실의 선생님은 경우의 수 놀이를 위해, 그림처럼 가로x세로 길이가 10x20, 20x20인 직사각형 종이를 잔뜩 준비했다. 그리고 교실 바닥에 20xN 크기의 직사각형을 테이프로 표시하고, 이 안에 준비한 종이를 빈틈없이 붙이는 방법을 찾아보려고 한다. N이 30인 경우 다음 그림처럼 종이를 붙일 수 있다. 10의 배수인 N이 주어졌을 때, 종이를 붙이는 모든 경우를 찾으려면 테이프로 만든 표시한 영역을 몇 개나 만들어야 되는지 계산하는 프로그램을 만드시오. 직사각형 종이가 모자라는 경우는 없다. [입..

Programming/SWEA 2021.08.03

[SWEA 4865].[파이썬 S/W 문제해결 기본] 3일차 - 글자수

SW Expert Academy에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다. https://swexpertacademy.com/main/main.do 문제 : 두 개의 문자열 str1과 str2가 주어진다. 문자열 str1에 포함된 글자들이 str2에 몇 개씩 들어있는지 찾고, 그중 가장 많은 글자의 개수를 출력하는 프로그램을 만드시오. 예를 들어 str1 = “ABCA”, str2 = “ABABCA”인 경우, str1의 A가 str2에 3개 있으므로 가장 많은 글자가 되고 3을 출력한다. 파이썬의 경우 딕셔너리를 이용할 수 있다.[입력] 첫 줄에 테스트 케이스 개수 T가 주어진다. 1≤T≤50 다음 줄부터 테스트 케이스 별로 길이가 N인 문자열 str1과 길이가 M인 str..

Programming/SWEA 2021.08.03

[SWEA 4861].[파이썬 S/W 문제해결 기본] 3일차 - 회문

SW Expert Academy에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다. https://swexpertacademy.com/main/main.do 문제 : ABBA처럼 어느 방향에서 읽어도 같은 문자열을 회문이라 한다. NxN 크기의 글자판에서 길이가 M인 회문을 찾아 출력하는 프로그램을 만드시오. 회문은 1개가 존재하는데, 가로 뿐만 아니라 세로로 찾아질 수도 있다. 예를 들어 N=10, M=10 일 때, 다음과 같이 회문을 찾을 수 있다. [입력] 첫 줄에 테스트 케이스 개수 T가 주어진다. 1≤T≤50 다음 줄부터 테스트케이스의 첫 줄에 N과 M이 주어진다. 10≤N≤100, 5≤M≤N 다음 줄부터 N개의 글자를 가진 N개의 줄이 주어진다. [출력] 각 줄마다 "#T..

Programming/SWEA 2021.08.03

[SWEA 4864].[파이썬 S/W 문제해결 기본] 3일차 - 문자열 비교

SW Expert Academy에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다. https://swexpertacademy.com/main/main.do 문제 : 두 개의 문자열 str1과 str2가 주어진다. 문자열 str2 안에 str1과 일치하는 부분이 있는지 찾는 프로그램을 만드시오. 예를 들어 두 개의 문자열이 다음과 같이 주어질 때, 첫 문자열이 두번째에 존재하면 1, 존재하지 않으면 0을 출력한다. ABC ZZZZZABCZZZZZ 두번째 문자열에 첫번째 문자열과 일치하는 부분이 있으므로 1을 출력. ABC ZZZZAZBCZZZZZ 문자열이 일치하지 않으므로 0을 출력.[입력] 첫 줄에 테스트 케이스 개수 T가 주어진다. (1≤T≤50) 다음 줄부터 테스트 케이스 별로..

Programming/SWEA 2021.08.02

[SWEA 4843].[파이썬 S/W 문제해결 기본] 2일차 - 특별한 정렬

SW Expert Academy에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다. https://swexpertacademy.com/main/main.do 문제 : 보통의 정렬은 오름차순이나 내림차순으로 이루어지지만, 이번에는 특별한 정렬을 하려고 한다. N개의 정수가 주어지면 가장 큰 수, 가장 작은 수, 2번째 큰 수, 2번째 작은 수 식으로 큰 수와 작은 수를 번갈아 정렬하는 방법이다. 예를 들어 1부터 10까지 10개의 숫자가 주어지면 다음과 같이 정렬한다. 10 1 9 2 8 3 7 4 6 5 주어진 숫자에 대해 특별한 정렬을 한 결과를 10개까지 출력하시오 [입력] 첫 줄에 테스트 케이스 개수 T가 주어진다. 1

Programming/SWEA 2021.08.02

[SWEA 4839].[파이썬 S/W 문제해결 기본] 2일차 - 이진탐색

SW Expert Academy에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다. https://swexpertacademy.com/main/main.do 문제 : 코딩반 학생들에게 이진 탐색을 설명하던 선생님은 이진탐색을 연습할 수 있는 게임을 시켜 보기로 했다. 짝을 이룬 A, B 두 사람에게 교과서에서 각자 찾을 쪽 번호를 알려주면, 이진 탐색만으로 지정된 페이지를 먼저 펼치는 사람이 이기는 게임이다. 예를 들어 책이 총 400쪽이면, 검색 구간의 왼쪽 l=1, 오른쪽 r=400이 되고, 중간 페이지 c= int((l+r)/2)로 계산한다. 찾는 쪽 번호가 c와 같아지면 탐색을 끝낸다. A는 300, B는 50 쪽을 찾아야 하는 경우, 다음처럼 중간 페이지를 기준으로 왼쪽 또..

Programming/SWEA 2021.08.02
728x90
반응형