목록Algorithm/BackJoon (20)
S E P H ' S
1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 입력부분 N, M = map(int, input().split()) board = list() for i in range(N): board.append(input()) new_board = [] 1. 한 줄로 공백으로 주어지는 N,M을 입력받는다. 2. 보드의 정보를 받을 board를 list()로 선언한다. 3. for 문으로 입력을 받는다. 4. new_board 를 다시 칠해야 하는 개수가 담긴 list로 선언 풀이부분 for i in range(N..
풀이방법 입력받은 문자열에서 가장 많이 입력된 알파벳을 출력하는 문제이다. 풀이법은 다음과 같다. 1. 알파벳 갯수 만큼의 1차원 배열 2개를 만든다. (가장 많이 입력된 알파벳이 여러개일 때를 비교해야 하므로 정렬시킬 배열, 알파벳을 셀 배열) 2. 정렬된 배열에서 마지막 인덱스의 값과 이전의 인덱스의 값이 같으면 '?'를 출력 3. 가장 많이 입력된 알파벳의 인덱스를 변수로 받고 출력 package BJ_문자열; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; public class BJ_1157_단어공부 { public static void main(String[] args) throws..
문제 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의 사이클 길이를 구하는 프로그램을 작성하시오. 입력 조..
문제 10871. X보다 작은 수 정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오. 문제의 입력조건은 1. 첫째 줄에 N과 X가 주어진다. 2. 둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수. 출력조건은 1. X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력하고, X보다 작은 수는 적어도 하나 존재. 예를 들어서 N = 10, X = 5 이면 정수 N개로 이루어진 수열 A에서 X보다 작은 숫자를 출력하라는 문제이다. 코드는 다음과 같다. N, X = map(int, input().split()) A = list(map(int, input().s..