[ 알고리즘 ]
[백준] 20437. 문자열 게임 2
📌문제 20437번: 문자열 게임 2 첫 번째 문자열에서 3번에서 구한 문자열은 aqua, 4번에서 구한 문자열은 raquator이다. 두 번째 문자열에서는 어떤 문자가 5개 포함된 문자열을 찾을 수 없으므로 -1을 출력한다. www.acmicpc.net 🎖️난이도 ✔️풀이 # 정답 import sys input = sys.stdin.readline from collections import defaultdict t = int(input()) for _ in range(t): w = input() k = int(input()) answer1, answer2 = 10000, 0 # INF 필요 X. 문제 조건 활용! if k == 1: print(1, 1) continue # k개 이상 있는 문자만 idx..
[백준] 17609. 회문
📌문제 17609번: 회문 각 문자열이 회문인지, 유사 회문인지, 둘 모두 해당되지 않는지를 판단하여 회문이면 0, 유사 회문이면 1, 둘 모두 아니면 2를 순서대로 한 줄에 하나씩 출력한다. www.acmicpc.net 🎖️난이도 ✔️풀이 n = int(input()) def isPalindrome(string): if string == string[::-1]: return True else: return False def isPseudo(string): for i in range(len(string)//2): if string[i] != string[len(string)-i-1]: str1, str2 = string.copy(), string.copy() # **깊은복사** str1.pop(i) st..
[백준] 17413. 단어 뒤집기 2
📌문제 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 더보기 🎖️난이도 ✔️풀이 string = input() answer = "" # 빌때까지 잘라내기 while string: if string[0] == '': answer += string[:i+1] string = string[i+1:] break elif string[0] == ' ': answer += ' ' string = string[1:] else: # 반대로 뒤집기 for i in range(len(string..
[백준] 10798. 세로읽기
📌문제 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 🎖️난이도 ✔️풀이 board = [] max_len = 0 for _ in range(5): word = input() board.append(word) max_len = max(max_len, len(word)) for i in range(max_len): # 최대 15이므로 max_len 대신 15로 해도 무방 for j in range(5): if len(board[j]) > i: print(board[j][i], end='') 🧠노트 문제에..
[백준] 1283. 단축키 지정
📌문제 1283번: 단축키 지정 첫째 줄에 옵션의 개수 N(1 ≤ N ≤ 30)이 주어진다. 둘째 줄부터 N+1번째 줄까지 각 줄에 옵션을 나타내는 문자열이 입력되는데 하나의 옵션은 5개 이하의 단어로 표현되며, 각 단어 역시 10개 이하 www.acmicpc.net 🎖️난이도 ✔️풀이 def find_shortcut(word_list): for idx, word in enumerate(word_list): if word[0].upper() not in short_cut: short_cut.add(str(word[0]).upper()) temp_word = list(word) temp_word.pop(0) text = "[" + word[0] + "]" + "".join(temp_word) word_li..