Algorithm(12)
-
백준: 오븐 시계
https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 해당 문제는 비교적 간단하다. 현재 시간에서 n 분이 초과된 시간을 계산하는 문제이다. 예제 1. 14 30 20 출력 14 50 코드 # 현재 시간에서 요리 시간이 경과된 시간을 표시하라 hour, minute = map(int, input().split()) cook_time = int(input()) total_minute = hour * 60 + minute + cook_tim..
2023.01.15 -
그룹 애너그램
애너그램 이란? 일종의 언어유희로 문자를 재배열하여 다른 뜻을 가진 단어로 바꾸는 것을 말한다. 문제 . 문자열 배열을 받아 애너그램 단위로 그룹핑하라. 예제 1. ["eat", "tea", "tan", "ate", "nat", "bat"] 출력 [ ["ate", "eat", "tea"], ["nat", "tan"], ["bat"] ] 코드 # 문자열을 받아 애너그램 단위로 그룹핑하라. q = ["eat", "tea", "tan", "ate", "nat", "bat"] def solution(strs): dic = {} for x in strs: # ord로 유니코드 값 가져오기 sortedStr = ''.join(sorted(x)) # 딕셔너리에 sortedStr : [] 형태로 넣기 if sorted..
2023.01.15 -
가장 흔한 단어
문제. 금지된 단어를 제외하고 가장 흔하게 등장하는 단어를 출력하라, 대소문자 구분을하지 않으며, 구두점 또한 무시한다. 예제 1. paragraph = "Bob hit a ball, the hit BALL flew far after it was hit." banned = ["hit"] 출력 "ball" 코드 import re # 금지된 단어를 제외하고 가장 흔하게 나오는 단어를 출력하라 대소문자 구분 x, 구두점 무시 paragraph = "Bob hit a ball, the hit BALL flew far after it was hit." banned = ["hit"] def solution(text, banned): dic = {} # 작업전 셋팅 ( 구두점, 대소문자 무시 ) text = re.s..
2023.01.15 -
로그파일 재정렬
문제 로그를 재정렬하라, 기준은 다음과 같다. 로그의 가장 앞 부분은 식별자다. 문자로 구성된 로그가 숫자 로그보다 앞에 온다. 식별자는 순서에 영향을 끼치지 않지만, 문자가 동일할 경우 식별자 순으로 한다. 숫자 로그는 입력 순서대로 한다. 예제 1. logs = ["digl 8 15 1", "let1 art can", "dig2 3 6", "let2 own kit dig", "let3 art zero"] 출력 ['let1 art can', 'let3 art zero', 'let2 own kit dig', 'digl 8 15 1', 'dig2 3 6'] 내가 짠 코드는 아래와 같다. logs = ["digl 8 15 1", "let1 art can", "dig2 3 6", "let2 own kit di..
2023.01.15 -
문자열 뒤집기
문자열을 뒤집는 함수를 작성하라. 입력값은 문자 배열이며, 리턴없이 리스트를 직접 조작하라 예제 1. 입력 ["h", "e", "l", "l", "o"] 출력 ['o', 'l', 'l', 'e', 'h'] 예제 2. 입력 ["H", "a", "n", "n", "a", "h"] 출력 ['h', 'a', 'n', 'n', 'a', 'H'] 이 문제는 상당히 쉽다. 그냥 반환값도 없기 때문에 매개변수로 들어온 리스트를 reverse() 함수로 뒤집어 주면 된다. 참고로 reverse() 함수는 새로운 값을 만들어서 반환하는게 아닌 변수의 값을 조정한다. 코드 strs = ["H", "a", "n", "n", "a", "h"] def solution(chars): chars.reverse() solution(s..
2023.01.15 -
팰린드롬
팰린드롬이란? 앞뒤가 똑같은 단어나 문장으로, 뒤집어도 같은 말이 되는 단어 혹은 문장을 의미한다. ex) 소주 만 병만 주소 주어진 문제는 아래와 같다. 주어진 문자열이 팰린드롬인지 확인하라. 대소문자를 구분하지 않으며, 영문자 숫자만을 대상으로 한다. 예제 1. "A man, a plan, a canal: Panama" 출력: True 예제 2. "race a car" 출력: False 내가 작성한 코드는 이와 같다. q = "A man, a plan, a canal: Panama" q2 = "race a car" def solution(str): # 공백 제거 및 소문자화 chars = list(str.lower().strip()) original_chars = [] for x in chars: #..
2023.01.15