코딩(24)
-
백준 1700 - 멀티탭 스케쥴링 (Python)
문제 https://www.acmicpc.net/problem/1700 1700번: 멀티탭 스케줄링 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전 www.acmicpc.net 풀이 n,k = map(int,input().split()) name = list(map(int,input().split())) tap = [0] * n i=0 answer = 0 while i 그냥 패스 2) 빈자리가 있는경우 -> 해당 자리에 꽂기 3) 빈자리가 없는경우 -> 가장 나중에 다시 사용될 제품의 코드를 뽑기, answer에 1 더하기 위 과정을 반복하여 모든 전자용품이 사용되..
2024.02.12 -
백준 11283 - 한글 2 (Python)
문제 https://www.acmicpc.net/problem/11283 11283번: 한글 2 한글의 각 글자는 초성, 중성, 종성으로 이루어져 있고, 이 세 가지를 모아써서 한 글자를 나타낸다. 초성은 ㄱ, ㄲ, ㄴ, ㄷ, ㄸ, ㄹ, ㅁ, ㅂ, ㅃ, ㅅ, ㅆ, ㅇ, ㅈ, ㅉ, ㅊ, ㅋ, ㅌ, ㅍ, ㅎ로 총 19개가 있 www.acmicpc.net 풀이 print(ord(input())-44031) 아주아주 간단한 코드 한줄이다. 파이썬은 ord를 이용하여 유니코드 번호를 알아낼 수 있다. '가'의 유니코드가 44032 이고 1번째 한글이므로, 입력받은 문자의 유니코드에 44031을 빼주어서 출력하면 순서를 알 수 있다.
2024.02.12 -
백준 10825 - 국영수 (Python)
문제 https://www.acmicpc.net/problem/10825 10825번: 국영수 첫째 줄에 도현이네 반의 학생의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 한 줄에 하나씩 각 학생의 이름, 국어, 영어, 수학 점수가 공백으로 구분해 주어진다. 점수는 1보다 크거나 같고, 1 www.acmicpc.net 풀이 a = [] for _ in range(int(input())): name, s1,s2,s3 = input().split() a.append([name,int(s1),int(s2),int(s3)]) a.sort(key=lambda x: (-x[1],x[2],-x[3],x[0])) for i in a: print(i[0]) 각 학생의 이름과 성적들을 입력받아서 성적은..
2024.02.12 -
백준 11656 - 접미사 배열 (Python)
문제 https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 풀이 txt = input() target = [] for i in range(len(txt)): target.append(txt[i:]) target.sort() print("\n".join(target)) 간단한 정렬 문제이다. 입력을 받은 뒤 target이라는 리스트에 앞에서부터 한글자씩 때면서 넣어준다. (파이썬 리스트 슬라이싱 활용) target을 정렬해주고 각 원소를 출력해준다.
2024.02.12 -
백준 5648 - 역원소 정렬 (Python)
문제 https://www.acmicpc.net/problem/5648 5648번: 역원소 정렬 모든 원소가 양의 정수인 집합이 있을 때, 원소를 거꾸로 뒤집고 그 원소를 오름차순으로 정렬하는 프로그램을 작성하세요. 단, 원소를 뒤집었을 때 0이 앞에 선행되는 경우는 0을 생략해야합니 www.acmicpc.net 풀이 import sys a = sys.stdin.readlines() numbers = [] for i in a: for j in i.split(): numbers.append(int(j[::-1])) numbers = numbers[1:] numbers.sort() print("\n".join(map(str,numbers))) 입력의 줄 수가 정해져 있지 않으므로 sys의 readlines를..
2024.02.12 -
백준 11652 - 카드 (Python)
문제 https://www.acmicpc.net/problem/11652 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net 풀이 from collections import Counter a = Counter([int(input()) for i in range(int(input()))]) b = sorted(a.items(),key= lambda x:(-x[1],x[0])) print(b[0][0]) 파이썬의 collections 패키지의 Counter를 사용했다 Counter를 사용하면 리스트에 대하여 리스..
2024.02.12