목록문자열 (50)
기록방
👉 문제링크 1411번: 비슷한 단어 첫째 줄에 단어의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에 한 줄에 하나씩 단어가 주어진다. 단어의 길이는 최대 50이고, N은 100보다 작거나 같은 자연수이다. 모든 단어의 길이는 같고, 중복 www.acmicpc.net 🔸 문제 분석 🔸 n개의 문자열에서 서로 비슷한 쌍의 수를 출력한다. 비슷하다는 의미는 문자열의 문자가 같은 방식으로만 변환 된 상태이다. 다른 두 문자가 하나의 문자로 중복되어 변환되지 못한다. 시간복잡도를 계산해보자 n개의 문자열이 갖을 수 있는 모든 쌍을 계산하므로 선택정렬과 같다. O(n^2) 그 안에서 문자열을 하나씩 검사해야한다. O(m) 따라서 시간 복잡도는 O(n^2 * m) 계산하면 100*100*50 == 500,000(5..
👉 문제링크 18238번: ZOAC 2 2019년 12월, 두 번째로 개최된 ZOAC의 오프닝을 맡은 성우는 누구보다 화려하게 ZOAC를 알리려 한다. 작년 ZOAC의 방식은 너무 식상하다고 생각한 성우는 문자열을 보여주는 새로운 규칙을 고안해 www.acmicpc.net 🔸 문제 분석 🔸 입력된 문자열을 원형판에서 선택하기 위해서, 최소로 움직일때 걸리는 시간을 출력한다. 🔸 코드 🔸 string = list(input()) idx = 0 answer = 0 for s in string: next = ord(s) - ord('A') diff = abs(next - idx) if diff
👉 문제링크 25205번: 경로당펑크 2077 시은이는 종합설계 프로젝트로 오픈월드 액션 고스톱 게임 경로당펑크 2077을 개발하고 있다. 대사를 추가하던 중, 사용자 이름에 따라 '을' 또는 '를' 중 하나를 출력해야 함을 깨달았다. 예를 들 www.acmicpc.net 🔸 문제 분석 🔸 입력된 문자열의 마지막 문자가 자음이면 1, 아니면 0을 출력한다. N이 최대 30이지만, 마지막 글자만 확인하므로 시간복잡도는 O(1) 수준으로 아주 낮다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(St..
👉 문제링크 2714번: 문자를 받은 승환이 첫째 줄에 테스트 케이스의 개수 T가 주어진다. (1 ≤ T ≤ 1,000) 각 테스트 케이스는 한 줄로 이루어져 있고, R, 공백, C, 공백, 승환이가 받은 메시지로 이루어져 있다. (1 ≤ R, C ≤ 21) 메시지는 0과 www.acmicpc.net 🔸 문제 분석 🔸 입력받은 행렬 크기대로 이진수 메시지를 나열한다. 달팽이 형태로 읽어가며 숫자로 변환한다. 숫자애 매치되는 문자로 변환 후 출력한다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public cla..
👉 문제링크 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 🔸 문제 분석 🔸 N이 1~10억으로 주어지고, 각 자리수로 내림차순 정렬해 출력한다. 10개의 수를 내림차순 정렬하는 것이므로 제한시간 2초(약 2억회 계산)까지는 여유롭다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Collections; public class Main { public static void main(Stri..