문제 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 � www.acmicpc.net 풀이 import sys N = int(sys.stdin.readline()) li = [] for _ in range(N): line = sys.stdin.readline().strip().split(" ") li.append((int(line[0]), line[1])) for each in sorted(li, key= lambda x: x[0]): print(each[0], end=" ") print(each[1])
문제 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 그동안 수 정렬하기 문제가 있을때는 간편하게 파이썬의 sorted()를 사용했지만, 이 문제는 메모리 제한이 있어서 카운팅 소트를 사용해서 풀어야 한다. 카운팅소트(Counting Sort)란 https://yuuj.tistory.com/106 [정렬] 계수 정렬 (카운팅소트, Counting Sort) 계수 정렬(Counting Sort)이란 원소끼리 비교를 하지 않고 원소가 몇번 등장하는지 갯수를 세서 정렬하는 방법이다. 시간복잡도는 O(n + k)으로 퀵정렬, 병합..
문제 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1≤N≤20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 풀이 파이썬을 사용하면 아주 간단하게 풀 수있지만 문제를 제대로 안읽어서 3번이나 시도한 문제 중복제거해야하는걸 못봐서 한번 틀리고, 출력 형식을 리스트 째로 하는바람에 한번 더 틀렸다. 집중하자 제발 ㅠㅠ * 람다를 사용하면 한개 이상의 키로 정렬을 할 수 있다. key=lambda x: (len(x), x)) import sys N = int(sys.stdin.readline()) li = [] for _ in range(N): li.append(s..
문제 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 풀이 collections 모듈의 Counter 클래스에있는 most_common() 메쏘드는 등장한 횟수를 내림차순으로 정리해서 보여준다. 메쏘드 이름이 most_common이라 가장 빈도가 높은 아이템만 리턴하는줄 알았는데 빈도가 높은 순으로 전체를 리턴한다. import sys from collections import Counter N = int(sys.stdin.readline()) li = [] for _ in range(N): li.append(int(sys.stdin.readl..
문제 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 풀이 소팅할때 키 여러개 두는법 list.sort(key=lambda x: (x[0], x[1])) import sys N = int(sys.stdin.readline()) coord = [] for _ in range(N): coord.append(list(map(int, sys.stdin.readline().split(" ")))) coord.sort(key=lambda x: (x[0], x[1])) ..
문제 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 풀이 아무리 브루트포스여도 다 돌리는게 정답일까..? 생각이 들었다. 그래서 경우를 나눠서 (n0666~n5666 / n6660~n6669 / n7666~n9666) 짜고 있었는데 60666이 되는 순간 범위가 달라져서 복잡해졌다. 그래서 그냥 다 돌렸더니 정답이 나왔다. 앞으로 브루트포스는 일단 다 돌려보고 시간을 더 줄일지 결정하는걸로... import sys N = int(sys.stdin.readline()) i = 0 count = 0 while..
문제 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 풀이 N*M 사이즈의 큰 보드의 어느부분을 8*8의 크기로 자를것인지, 8*8의 크기로 잘린 체스판에서 몇개의 칸을 칠해야 체스판으로 쓸 수 있는지 이 두가지를 모두 완전탐색했다. 잘라야하는 체스판의 크기가 정해져있고, B로 시작하는 경우와 W로 시작하는 경우로 2가지밖에 경우의 수가 없으니 하드코딩으로 미리 8*8배열을 2개 만들어놓고, 보드를 자른 애랑 완전탐색을 하며 몇개가 다른지 비교했다. import sys # 잘라야하는 체스판의 크기가 정..
- Total
- Today
- Yesterday
- 투포인터 알고리즘 파이썬
- 파이썬 최대공약수
- Kotlin
- flutter simultor
- 코틀린 바텀네비게이션
- 백준 2003
- 프로그래머스
- 안드로이드
- 투포인터 알고리즘
- kotlin fragment
- 코틀린 뷰페이저
- 카카오톡으로 로그인 오류
- 백준
- 코틀린 데이터바인딩
- counting sort
- 코틀린
- 백준 1644
- 전화번호목록 파이썬
- 데이터바인딩 뷰바인딩 차이
- 카카오 키해시
- TextFormField keyboard
- 시뮬레이터 키보드
- 소수 구하기 파이썬
- 카카오 기출
- 백준알고리즘
- 안드로이드 키해시
- 백준 1806
- 코틀린 리스트뷰
- 코틀린 뷰바인딩
- 안드로이드 카카오톡으로 로그인
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |