목록백준 (24)
이숭간 공부기록
www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 문제유형 : 정렬 문제풀이 : 사용자들 정보가 담긴 배열의 원소를 튜플로 저장 , 튜플의 형태는 (나이, 이름, 가입한순서) 정렬하는데 1순위 나이, 2순위 가입한순서로 정렬 출력은 나이, 이름 파이썬 튜플정리 ! 튜플은 생성후 변경 불가능 (삽입, 삭제 불가능) 소괄호를 이용해 선언 + 연산자를 이용해 튜플 2개를 한개의 튜플로 합칠 수 있다. 슬라이스 기능 이용가능 (리스트와 방법 동일) len(), max(),..
www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 문제유형 : DP, 수학, 구현 문제풀이 : 방법1. DP로 푸는방법 : 이항계수는 k가 0일때 and n과 k가 같을때 1이고 나머지값에대해서는 n,k = n-1,k + n-1,k-1의 값을 갖는다. 따라서 array[i][j] = array[i-1][j] + array[i-1][j-1] 의 점화식을 이용하면서 DP배열을 채워나가면 된다. 방법2 : 이항계수 공식으로 팩토리얼 라이브러리 이용 공식 = n! / k! * (n-k)! 로 계산 math.factorial() 이용 정답코드 ..
www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 문제유형 : 구현, 문자열 문제풀이 : 파이썬의 편리한 리스트 슬라이싱을 이용한 해결방법 입력받은 문자열을 배열로 변환해서 원본배열과 배열을 거꾸로 돌린 [::-1] 이랑 같으면 팰림드론수이고 아니면 아님 정답코드 : import sys input = sys.stdin.readline array = [] while True: # 입력의 마지막에 0이들어오므로 0이 입력되기전까지 입력받기 num = input().strip() ..
www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 문제유형 : 문자열, 정렬 문제풀이 : 1순위 정렬 - 문자열 길이기준 : sorted(key=lamda x: len(x)) - 람다함수로 정렬기준 제시 2순위정렬 - 문자열길이가 같을때는 알파벳순 : 디폴트 sort 내가푼 방법보다 더 쉬운방법 : lamda를 이용해서 정렬기준의 1순위, 2순위를 한번에 지정하기 배열에 튜플형태로 (문자열, 문자열길이) 로 저장한뒤 해당 배열을 다음과같은 람다식으로..
www.acmicpc.net/problem/5052 5052번: 전화번호 목록 첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 50) 각 테스트 케이스의 첫째 줄에는 전화번호의 수 n이 주어진다. (1 ≤ n ≤ 10000) 다음 n개의 줄에는 목록에 포함되어 있는 전화번호가 www.acmicpc.net 문제유형 : 문자열, 정렬, 해시 문제핵심 : 1. 파이썬 라이브러리 startswith메소드 2. 전화번호 배열을 정렬하면 접두어가 있는경우 같은번호로 시작하는 번호들은 무조건 인접하게 위치한다!! 3. zip()함수 : 파이썬 내장함수인 zip()은 동일한 개수로 이루어진 자료형을 묶어주는 역할을 하는 함수다. (동일한개수 아니여도 됨 _ 더작은 개수에 맞춰서 짝짓기됨, 즉 길이다른 ..
www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 문제유형 : 큐, 구현, 시뮬레이션 문제핵심 : 기본적이 큐 형태에서, 조건을 확인하고 조건에맞게 구현해주면됨 이전에 프로그래머스에서 풀었던 문젠데 그떄는 정리를 안했어서 다시 내가풀었던 방식을 안보고 새로풀어보았다. 그때랑 아이디어?는 비슷한데 조금 다른 방식으로 풀었군 풀이1 (젤 최근풀이) from collections import deque def solution(priority, location): que..