목록문자열 (50)
기록방
👉 문제링크 9733번: 꿀벌 각각의 일을 한 횟수와 비율을 공백으로 구분하여 출력한다. 출력은 {Re,Pt,Cc,Ea,Tb,Cm,Ex} 순서대로 하며, 비율은 소수점 둘째 자리까지 출력한다. 주어진 목록에 없는 일은 출력하지 않는다. 입력의 www.acmicpc.net 🔸 문제 분석 🔸 해시 맵을 이용해서 7가지 벌의 일과를 키로 저장하고 값을 카운트한다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map.Entry; import java.util.StringTokenizer; public c..
👉 문제링크 3447번: 버그왕 입력은 여러 줄의 소스 코드로 이루어져 있다. 이 소스 코드는 백준이가 작성한 버그를 찾는 프로그램으로 이미 처리가 되어있다. 각 줄은 100글자 이내이고, 입력은 파일이 끝날 때 끝난다. 줄의 www.acmicpc.net 🔸 문제 분석 🔸 EOF가 입력될 때 까지 문자열을 입력받아 "BUG" 문자열이 포함되지 않도록 제거한 뒤 출력한다. "BUG"를 제거한 뒤 다시 "BUG"가 생겨도 제거해야한다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] a..
👉 문제링크 2999번: 비밀 이메일 정인이는 원래 "bombonisuuladici"를 보내려고 했다. 이 메시지는 16글자이므로, 정인이는 1*16, 2*8, 4*4 행렬을 선택할 수 있다. R이 가장 큰 것은 4*4이므로, 4*4를 선택한다. 정인이가 만든 행렬은 다음과 www.acmicpc.net 🔸 문제 분석 🔸 문자열을 입력받으면 행렬이 가능한 정사각형에 가깝고, 행의 개수가 열의 개수보다 작거나 같은 형태로 변환한다. 행렬에 왼쪽 열부터 세로 방향으로 쓰고, 첫 행부터 가로 방향으로 읽어 출력한다. 🔸 코드 🔸 s = input() r = 0 c = 0 for i in range(1, len(s)//2 + 1): if len(s) % i == 0 and i
👉 문제링크 25643번: 문자열 탑 쌓기 인경이는 $N$개의 문자열을 쌓아서 문자열 탑을 완성하려고 한다. 탑을 완성하기 위해서는 모든 문자열을 아래에서부터 순서대로 쌓아 올려야 한다. 인경이는 문자열 탑의 꼭대기에 다음 순서의 www.acmicpc.net 🔸 문제 분석 🔸 새로 들어온 문자열이 이전 문자열에 결합이 되는지 확인하며 전부 결함 가능하면 1, 아니라면 0을 출력한다. 문자열 블록을 끼는 경우의 수는 3가지이다. 완전히 같은 문자열로 모든 칸을 끼움 새로 들어온 문자열 블록이 왼쪽으로 튀어나옴 새로 들어온 문자열 블록이 오른쪽으로 튀어나옴 두 문자열 블록의 겹치는 부분의 길이를 1부터 m까지 키워가며 결합이 되는 순간이 올 때까지 계산한다. 🔸 코드 🔸 n, m = map(int,input..
👉 문제링크 5426번: 비밀 편지 선영이는 남자친구를 위해 연애 편지를 썼다. 선영이는 편지가 남들에게 읽히는 것을 막기 위해서 편지를 암호화하려고 한다. 먼저, 편지의 내용을 정사각형에 작성한다. 그 다음, 시계방향으로 www.acmicpc.net 🔸 문제 분석 🔸 입력된 문자열을 정사각형 배열에 저장하고 90도 우회전해서 출력한다. 정사각형의 한 변의 길이는 문자열 길이의 제곱근이다. 🔸 코드 🔸 import math n = int(input()) for i in range(n): string = input() size = int(math.sqrt(len(string))) arr = [] for j in range(size): arr.append(string[j*size:j*size+size]) r..