전체 글 92

[SWEA] 14692. 통나무 자르기 D3 (자바)

14692. 통나무 자르기 D3 [문제] Alice와 Bob은 길이 N미터의 통나무를 자르는 게임을 한다. 게임은 Alice가 먼저 시작하며 그 이후 둘이 번갈아가면서 턴을 가진다. 각 턴을 맡은 사람은, 통나무를 두 조각으로 나누는데, 이 때 잘린 통나무가 모두 자연수(1 이상의 정수) 미터 길이를 가지도록 잘라야 한다. 더 이상 자를 수 없게 되는 사람이 진다. 누가 이기는가?[입력]첫 번째 줄에 테스트 케이스의 수 TC가 주어진다. 이후 TC개의 테스트 케이스가 새 줄로 구분되어 주어진다. 각 테스트 케이스는 다음과 같이 구성되었다.- 첫 번째 줄에 정수 N이 주어진다. (2≤N≤ 109)[출력]각 테스트 케이스 마다 한 줄씩- Alice가 이기면 “Alice”, 아니면 “Bob” 을 출력하라. 입..

[SWEA] 1213. [S/W 문제해결 기본] 3일차 - String D3 (자바)

1213. [S/W 문제해결 기본] 3일차 - String D3[문제]주어지는 영어 문장에서 특정한 문자열의 개수를 반환하는 프로그램을 작성하여라.Starteatingwellwiththeseeighttipsforhealthyeating,whichcoverthebasicsofahealthydietandgoodnutrition.위 문장에서 ti 를 검색하면, 답은 4이다.[제약 사항]총 10개의 테스트 케이스가 주어진다.문장의 길이는 1000자를 넘어가지 않는다.한 문장에서 검색하는 문자열의 길이는 최대 10을 넘지 않는다.한 문장에서는 하나의 문자열만 검색한다. [입력]각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고 그 다음 줄에는 찾을 문자열, 그 다음 줄에는 검색할 문장이 주어진다.[출력..

[SWEA] 10804. 문자열의 거울상 D3 (자바)

10804. 문자열의 거울상 D3[문제] ‘b’, ‘d’, ‘p’, ‘q’로 이루어진 문자열이 주어진다. 이 문자열을 거울에 비추면 어떤 문자열이 되는지 구하는 프로그램을 작성하라.예를 들어, “bdppq”를 거울에 비추면 “pqqbd”처럼 나타날 것이다. [입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 ‘b’, ‘d’, ‘p’, ‘q’만으로 이루어진 하나의 문자열이 주어진다. 문자열의 길이는 1이상 1000이하이다. [출력]각 테스트 케이스마다 주어진 문자열을 거울에 비춘 문자열로 출력한다.입력2bdppqqqqqpppbbd//전체 테스트 케이스 수//첫 번째 테스트 케이스//두 번째 테스트 케이스input.txt출력#1 pqqbd#2 bddqqqpppp// 첫..

[SWEA] 5549. 홀수일까 짝수일까 D3 (자바)

5549. 홀수일까 짝수일까 D3양의 정수가 주어질 때, 이 수가 홀수인지 짝수인지 판별하는 프로그램을 작성하라.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 100자리 이하의 양의 정수가 주어진다.[출력]각 테스트 케이스마다 첫 번째 줄에는‘#T’(T는 테스트케이스 번호를 의미하며 1부터 시작한다.)를 출력하고, 주어진 수가 홀수이면 “Odd”를, 짝수이면 “Even”을 출력한다.입력511010018578712436871238682538727387182518881239123819238912929292//Test Case 수 //Test Case #1 sample_input.txt출력#1 Odd#2 Even#3 Ev..

[SWEA] 1234. [S/W 문제해결 기본] 10일차 - 비밀번호 D3 (자바)

1234. [S/W 문제해결 기본] 10일차 - 비밀번호 D3평소에 잔머리가 발달하고 게으른 철수는 비밀번호를 기억하는 것이 너무 귀찮았습니다.적어서 가지고 다니고 싶지만 누가 볼까봐 걱정입니다. 한가지 생각을 해냅니다. 0~9로 이루어진 번호 문자열에서 같은 번호로 붙어있는 쌍들을 소거하고 남은 번호를 비밀번호로 만드는 것입니다.번호 쌍이 소거되고 소거된 번호 쌍의 좌우 번호가 같은 번호이면 또 소거 할 수 있습니다.예를 들어 아래의 번호 열을 철수의 방법으로 소거하고 알아낸 비밀 번호입니다. [입력]10개의 테스트 케이스가 10줄에 걸쳐, 한 줄에 테스트 케이스 하나씩 제공된다.각 테스트 케이스는 우선 문자열이 포함하는 문자의 총 수가 주어지고, 공백을 둔 다음 번호 문자열이 공백 없이 제공된다.문..

[SWEA] 8741. 두문자어 D3 (자바)

8741. 두문자어 D3이번 여름 휴가로 하와이를 갈 예정인 상길이는 매일 영어 단어를 외운다.똑똑한 상길이는 이전에 외운 단어는 단어의 앞글자만 보면 다시 기억해낼 수 있다.상길이는 자신이 외운 영어 단어를 까먹을 때를 대비해서 단어의 앞글자를 따와 대문자로 적어 놓으려고 한다.상길이를 도와 세 단어의 앞글자를 따와서 대문자로 바꾸는 프로그램을 작성해보자.예를 들어 “knuth morris pratt”은 “KMP”로 바뀐다.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 영어 소문자로 이루어진 세 문자열이 주어진다.각 문자열의 길이는 1이상 20이하이다.[출력]각 테스트 케이스마다 ‘#x’(x는 테스트케이스 번호를 의미하며 1부터 시작한다)를 출력하고,각 테스..

[SWEA] 9997. 미니멀리즘 시계 D3 (자바)

9997. 미니멀리즘 시계 D3영은이는 특이한 아날로그 시계를 하나 가지고 있다. 이 시계는 미니멀리즘을 따른 시계라서 바늘이 시침 밖에 없으며 시간도 1에서 12가 모두 적힌 것이 아니라 12만 적혀 있다.시침이 12로부터 몇 도(°) 정도 돌아가 있는지 주어질 때, 지금이 몇 시 몇 분인지 출력하는 프로그램을 작성하라.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 하나의 정수 θ(0≤θ [출력]각 테스트 케이스마다 ‘#x’(x는 테스트케이스 번호를 의미하며 1부터 시작한다)를 출력하고,시침이 나타내는 시간이 h시 m분이라면, h와 m을 공백 하나로 구분하여 한 줄에 출력한다.오전과 오후를 구별하지 않으므로, 12시는 0시로 출력해야 한다. 입력6011011..

[백준] 10974번. 모든 순열 (자바)

모든 순열문제N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오.입력첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다. 출력첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다.예제 입력 1 3예제 출력 1 1 2 31 3 22 1 32 3 13 1 23 2 1코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N=Integer.parseInt(br.re..

백준(Java) 2025.05.15

[백준] 15649번. N과 M (1) (자바)

N과 M (1) 문제자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열입력첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.수열은 사전 순으로 증가하는 순서로 출력해야 한다.예제 입력 1 3 1예제 출력 1 123예제 입력 2 4 2예제 출력 2 1 21 31 42 12 32 43 13 23 44 14 24 3예제 입력 3 4 4예제 출력 3 1 2 3 41 2 4 31 3 2 41 3 4 21 4 2 31 4 3 22 1 3 42 ..

백준(Java) 2025.05.15

[SWEA] 4751. 다솔이의 다이아몬드 장식 D3 (자바)

4751. 다솔이의 다이아몬드 장식 D3Box에 담 다솔이는 어떤 문자열을 하나 가지고 있는데, 이 문자열이 별로 아름답지 못하다고 생각하고 있다.그래서 장식을 해주기로 했다.예를 들어 문자열이 “D”라면 주위를 ‘#’로 이루어진 다이아몬드로 감싸서 다음과 같이 5x5크기로 장식한다.빈 곳은 ‘.’로 표시한다.만약 문자열의 길이가 1보다 더 크면, 인접한 문자는 ‘#’과 ‘.’을 공유하여 장식한다.예를 들어 문자열이 “APPLE”이면 다음과 같이 장식한다. 주어진 문자열을 장식해주는 프로그램을 작성하라.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 길이가 1이상 50이하인 문자열이 주어진다.[출력]각 테스트 케이스마다 다섯 줄에 걸쳐 장식된 문자열을 출력한다...