GitHub

https://github.com/Choidongjun0830

파이썬 알고리즘 문제 풀이 228

BaekJoon Online Judge 11652번 파이썬

문제 링크 https://www.acmicpc.net/problem/11652 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net 처음에 작성한 코드 import sys N = int(sys.stdin.readline()) cards = [] for i in range(0,N): cards.append( int(sys.stdin.readline())) count = [0] * N for card in cards: count[card] += 1 max = max(count) print(max) 대충 위와 같은 ..

BaekJoon Online Judge 10825번 파이썬

문제 링크 https://www.acmicpc.net/problem/10825 이번 문제는 다른 문제들과 다르게 내림차순 정렬도 섞여있다. 오름차순 정렬은 x[i] 였다면 내림차순 정렬은 -x[i] 로 하면 된다. 정답 코드 import sys N = int(sys.stdin.readline()) students_subjects_scores = [[]*4 for i in range(0,N)] for i in range(0,N): students_subjects_scores[i] = list(sys.stdin.readline().split()) students_subjects_scores.sort(key=lambda x:(-int(x[1]),int(x[2]),-int(x[3]),x[0])) for i in..

BaekJoon Online Judge 10814번 파이썬

문제 링크 https://www.acmicpc.net/problem/10814 나이 순으로 정렬한 후에 나이가 같으면 등록한 순으로 정렬하는 문제다. 등록한 순으로 어떻게 정렬해야할지 고민이었는데 나이 순으로 정렬하기만하면 되는 문제였다. 그러고 나서도 계속 ‘틀렸습니다’가 떠서 뭔가 싶었다. 정렬하는 부분에서 member_info.sort(key = lambda x: x[0]) 에서 x: int(x[0])로만 바꿔주면 되는 문제였다. 정답 코드 import sys N = int(sys.stdin.readline()) member_info = [[]*2 for i in range(0,N)] for i in range(0,N): member_info[i] = list(sys.stdin.readline()...

BaekJoon Online Judge 11651번 파이썬

문제 링크 https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 이번에는 y값이 같은 경우에만 x값을 이용하여 정렬하는 문제이다. 그래서 그냥 sort만 사용하지 않고 sort(key= lambda x:(x[1],x[0]))을 이용하여 배열의 두번째 인덱스, 즉 y좌표가 우선임을 알려주었다. 나머지는 11650번과 동일하다. 정답 코드 import sys N = int(sys.stdin.rea..

BaekJoon Online Judge 11650번 파이썬

문제 링크 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 2차원 배열의 형태로 좌표들을 입력받았다. sort()함수에서 자동으로 x좌표가 같으면 y좌표로 정렬해주었다. 그대로 출력하면 대괄호와 컴마가 같이 출력이 된다. 그래서 2차원배열의 인덱싱을 이용하여 출력하였다. 정답 코드 import sys N = int(sys.stdin.readline()) coord = [[0] * 2 for ..

BaekJoon Online Judge 2751번 파이썬

문제 링크 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 처음에 잘못 짠 코드 import sys N = int(sys.stdin.readline()) numbers = [0] * N for i in range(0,N): numbers[i] = int(sys.stdin.readline()) for i in range(0,N): for j in range(i,N): if numbers[i] >= numbers[j]: dummy = n..

BaekJoon Online Judge 11052번 파이썬

문제 링크 https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 민규가 원하는 카드의 개수를 card_need 변수로 받았다. 카드팩의 가격을 pack으로 받았다. 그리고 카드팩의 카드 개수와 인덱스를 맞추기 위해 0의 자리에 0을 넣어두고 input을 받았다. 처음에 잘못 짠 코드 card_need = int(input()) pack = [0] + list(map(int,input().split())) for i in range(1,card_need+1)..

BaekJoon Online Judge 2225번

문제 링크 https://www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net k = 1 이면, 경우는 자기 자신밖에 없으므로 경우의 수는 모두 1이다. 1,2 -> 01 10 2가지 2,2 -> 02 11 20 3가지 3,2 -> 03 12 21 30 4가지 4,2 -> 04 13 22 31 40 5가지 5,2 -> 05 14 23 32 41 50 6가지 이처럼 k = 2 이면, 경우의 수는 n + 1 이 된다. 1,3 -> 001 010 100 3가지 2,3 -> 002 020 200 011 101 110 6가지 3,3 -> 003 030 300 111 120 102 210 201 02..

728x90