python6 [백준 18870번]좌표 압축(파이썬) 1. 과정 처음 문제를 읽고 잘 이해가 되지 않았다. 문제에서 'Xi를 좌표 압축한 결과값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같다.' 라고 하였는데, 이걸 해석하고 이해하는데 좀 걸렸던 것 같다. 결과적으로 리스트 내에서 Xi보다 작은 값의 개수가 좌표 압축의 결과이다. 하지만 '서로 다른 좌표' 라고 했으므로 같은 값이 두 개라면 하나로 세어야 한다. 문제의 아이디어가 그렇게 어렵진 않은 것 같아서 그냥 생각없이 코드를 먼저 짜봤다. import sys input = sys.stdin.readline n = int(input()) nums = list(map(int, input().split())) nums_set = set(sorted(nums)) result = [] for num.. 2023. 1. 21. [백준 10814번]나이순 정렬(파이썬) 1. 과정 사실 이 문제는 어렵지 않다고 생각해서 굳이 블로그에 기록하지 않으려고 했다. 하지만 .. 세 번이나 틀렸다 !! ㅎㅎ 결론 먼저 이야기하자면, 문제에서는 나이는 1보다 크거나 같으며 200보다 작거나 같은 정수, 이름은 알파벳 대소문자로 이루어져 있고 길이가 100보다 작거나 같은 문자열이라고 언급했지만 내가 이를 제대로 체크하지 못했다. # 나이순 정렬 import sys input = sys.stdin.readline n = int(input()) members = [] for _ in range(n): members.append(input().split()) members.sort(key=lambda x: x[0]) for age, name in members: print(age, na.. 2023. 1. 20. [백준 1181번]단어 정렬(파이썬) 1. 과정 이 문제를 풀기 전에, 다른 정렬 문제를 풀면서 반복문을 통해 입력을 받는 경우, 시간이 오래걸리기 때문에 반드시 input()이 아닌 sys.stdin.readline()을 사용해야 한다는 것을 알게 되었다. 나는 지금까지의 경험을 기반으로 이 문제를 보자마자 아래와 같이 허접한 코드를 작성 했는데, 문제가 발생했다. import sys input = sys.stdin.readline n = int(input()) words = [] for _ in range(n): words.append(input()) words.sort(key=lambda x: (len(x), x)) for word in words: print(word) 개행 문자가 함께 출력되고 있었다...! 대체 뭐가 문제인지 확인.. 2023. 1. 20. [백준 11650]좌표 정렬하기(파이썬) 1. 첫 번째 풀이 (리스트) # 좌표 정렬하기 import sys input = sys.stdin.readline n = int(input()) location = [] for _ in range(n): location.append(list(map(int, input().split()))) location.sort() for i in range(n): print(location[i][0], location[i][1]) 각 좌표값을 리스트 형식으로 입력받아 풀었다. sort() 함수를 사용하면 자동으로 x좌표를 기준으로 오름차순으로 정렬하고, x좌표 값이 같다면 y좌표를 기준으로 오름차순으로 정렬해 준다. 2. 두 번째 풀이 (튜플) # 좌표 정렬하기(튜플로 받기) import sys input = sy.. 2023. 1. 19. 이전 1 2 다음