Tiny Bunny
본문 바로가기
[BOJ #10798] 세로읽기 문제 아직 글을 모르는 영석이가 벽에 걸린 칠판에 자석이 붙어있는 글자들을 붙이는 장난감을 가지고 놀고 있다. 이 장난감에 있는 글자들은 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’부터 ‘9’이다. 영석이는 칠판에 글자들을 수평으로 일렬로 붙여서 단어를 만든다. 다시 그 아래쪽에 글자들을 붙여서 또 다른 단어를 만든다. 이런 식으로 다섯 개의 단어를 만든다. 아래 그림 1은 영석이가 칠판에 붙여 만든 단어들의 예이다. A A B C D D a f z z 0 9 1 2 1 a 8 E W g 6 P 5 h 3 k x 한 줄의 단어는 글자들을 빈칸 없이 연속으로 나열해서 최대 15개의 글자들로 이루어진다. 또한 만들어진 다섯 개의 단어들의 글자 개수는 서로 다를 수 있다. 심심.. 2024. 2. 7.
[SWEA #12399] 스택1_반복문자_지우기 문제문자열 s에서 반복된 문자를 지우려고 한다. 지워진 부분은 다시 앞뒤를 연결하는데, 만약 연결에 의해 또 반복문자가 생기면 이부분을 다시 지운다.반복문자를 지운 후 남은 문자열의 길이를 출력 하시오. 남은 문자열이 없으면 0을 출력한다. 다음은 CAAABBA에서 반복문자를 지우는 경우의 예이다. CAAABBA 연속 문자 AA를 지우고 C와 A를 잇는다.CABBA 연속 문자 BB를 지우고 A와 A를 잇는다.CAA 연속 문자 AA를 지운다.C 1글자가 남았으므로 1을 리턴한다.  입력 첫 줄에 테스트 케이스 개수 T가 주어진다.  1≤T≤ 50 다음 줄부터 테스트 케이스의 별로 길이가 1000이내인 문자열이 주어진다. 출력 #과 1번부터인 테스트케이스 번호, 빈칸에 이어 답을 출력한다. 내가 쓴 코드T .. 2024. 2. 7.
[SWEA #11573] 스택_제로 문제N개의 정수들이 입력으로 주어진다.첫번째 숫자 부터 순서대로 기록하다가, 중간에 0이 나오면 바로 이전에 입력된 숫자를 지운다.0이 나올때 지울 숫자가 없는 경우는 없다.최종적으로 기록된 숫자들의 총합을 계산하는 프로그램을 작성하자.예를 들어, 4 0 2 3 0 이 입력되면 [4]     # 4 기록[]       # 0에 의해 4 삭제[2]     # 2 기록[2, 3]  # 3 기록[2]     # 0에 의해 3 삭제2만 기록된 상태이므로 합은 2가 된다.반드시 스택을 활용해서 코드를 작성해보자.입력첫 줄에 테스트 케이스 수가 주어진다.각 테스트 케이스 마다 첫줄에 정수의 개수 N이 주어지고 (5 다음 줄에 N개의 정수값(1이상 10이하)들이 공백으로 구분되어, 한 줄에 주어진다.출력# 과 함께 .. 2024. 2. 7.
[BOJ #10951] A+B-4 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 A+B를 출력한다. 내가 쓴 코드 while True: try: A, B = map(int, input().split()) print(A+B) except: break 제출 결과 2024. 2. 6.
[BOJ #10950] A+B-3 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 A+B를 출력한다. 내가 쓴 코드 T = int(input()) for t in range(T): A, B = map(int, input().split()) print(A+B) 제출 결과 2024. 2. 6.
[BOJ #1110] 더하기 사이클 문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다. N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 .. 2024. 2. 6.
[BOJ #2675] 문자열 반복 문제 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다. S에는 QR Code "alphanumeric" 문자만 들어있다. QR Code "alphanumeric" 문자는 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\$%*+-./: 이다. 입력 첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 반복 횟수 R(1 ≤ R ≤ 8), 문자열 S가 공백으로 구분되어 주어진다. S의 길이는 적어도 1이며, 20글자를 넘지 않는다. 출력 각 테스트 케이스에 대해 P를 출력한다. 내가 쓴 코드 T = .. 2024. 2. 6.
[BOJ #10809] 알파벳 찾기 문제 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. 내가 쓴 코드 from sys import stdin word = stdin.readline() for i in .. 2024. 2. 6.
728x90
반응형