1. 단어 정렬 (백준 1181번)
https://www.acmicpc.net/problem/1181
1181번: 단어 정렬
첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.
www.acmicpc.net
참고 답안)
n=int(input())
array=[]
for i in range(n):
array.append(input())
set_list=set(array)
new_array=list(set_list)
new_array.sort()
new_array.sort(key=len)
for i in range(len(new_array)):
print(new_array[i])
2. 소트인사이드 (백준 1427번)
https://www.acmicpc.net/problem/1427
1427번: 소트인사이드
첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
직접 작성한 코드)
string=input()
list_string=list(string)
list_string.sort(reverse=True)
result=''.join(s for s in list_string)
print(result)
3. ATM (백준 11399번)
https://www.acmicpc.net/problem/11399
11399번: ATM
첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)
www.acmicpc.net
직접 작성한 코드)
n=int(input())
array=list(map(int,input().split()))
array.sort()
result=0
count=n
for i in range(n):
result+=array[i]*count
count-=1
print(result)
4. 좌표 정렬하기 (백준 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
직접 작성한 코드)
n=int(input())
array=[]
for i in range(n):
array.append(list(map(int, input().split())))
array.sort(key=lambda array:(array[0],array[1]))
for i in range(n):
print(array[i][0] ,array[i][1])
'CS Study > algorithm' 카테고리의 다른 글
기타 문제풀이 (0) | 2022.07.22 |
---|---|
DFS & BFS 문제 풀이 (0) | 2022.07.19 |
그리디 알고리즘 (문제 풀이) (0) | 2022.07.12 |
최단 경로 알고리즘 (0) | 2022.07.12 |
다이나믹 프로그래밍 (0) | 2022.07.11 |