문제 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 정답 소스코드 (Python) n=int(input()) arr=[] for i in range(n):arr.append(list(map(int,input().split()))) result=sorted(arr,key=lambda x:(x[1],x[0])) for ele in result:print(*ele) 풀이 (Python) 이중 배열 정렬하는 문제이다. 파이썬의 경우 sort() 함수를 사용하면..
문제 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net 정답 소스코드 (Python) from collections import deque n,m=map(int,input().split()) field=[] visited=[[False for j in range(m)]for i in range(n)] arr=[[-1 for j in range(m)]for i in range(n)] for i in range(n): tmp=list(map(int,input().split..
문제 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 정답 소스코드 (Python) n=int(input()) i=2 while i
문제 1522번: 문자열 교환 a와 b로만 이루어진 문자열이 주어질 때, a를 모두 연속으로 만들기 위해서 필요한 교환의 회수를 최소로 하는 프로그램을 작성하시오. 이 문자열은 원형이기 때문에, 처음과 끝은 서로 인접해 www.acmicpc.net 정답 소스코드 (Python) arr=input() result=[] size=arr.count('a') #윈도우 크기 for i in range(len(arr)): b_count=0 for j in range(size): index=i+j if index>len(arr)-1:index-=len(arr) #index가 리스트를 넘어간다면 -=리스트크기 해주기-> 원형 유지 if arr[index]=="b":b_count+=1 result.append(b_cou..
문제 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 풀이 (Python) N=int(input()) share=N//5 min_number=N kg5_count,kg3_count=0,0 for i in range(share,-1,-1): if (N-5*i)%3==0: kg5_count=i kg3_count=(N-5*i)//3 if min_number>kg5_count+kg3_count and(kg5_count>0 or kg3_count>0): min_number=kg5_count+kg3_count if kg5_coun..
문제 14916번: 거스름돈 첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다. www.acmicpc.net 풀이 (Python) n=int(input()) count=0 while n>=0: if n%5==0: #5로 나눠진다면 전부 다 나누기 print(n//5+count) break n-=2 #-2반복 count+=1 #2원을 거슬러 준 횟수를 count에 저장 if n