
문제 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 # 잘라야하는 체스판의 크기가 정..

문제 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x,y)로 표시된다. 두 사람 A 와 B의 덩� www.acmicpc.net 풀이 완전탐색 (브루트포스)를 통해서 풀 수 있다. 처음엔 정렬을 해서(reversed) 바로 위에 애랑만 비교하는 방식으로 짰는데, 그럴 경우 반례가 생긴다. input 5 177 75 133 16 183 75 126 156 49 24 output 1 3 1 3 5 answer 1 3 1 1 4 따라서 머리쓰지 않고 문제에서 시키는대로 짰다. 만일 자신보다 더 큰 덩치의 사람이 k명이라면 그 사람의 덩치 등수는 k+1이 된다 따라서 각각의 사..

문제 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 풀이 완전탐색 (브루트포스)를 통해서 풀 수 있다. import sys N = int(sys.stdin.readline()) flag = 0 for i in range(1, N+1): total = i string = str(i) for j in range(len(string)): total += int(string[j]) if total == N: flag = 1 print(i) break if flag == 0: print(0)

문제 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 풀이 시뮬레이션 문제라 복잡한 스킬이 필요하지는 않았지만 공기청정기를 위/아래로 나눠서 순환하는 부분을 짜는게 헷갈렸다. 테스트케이스도 다 맞고 질문게시판의 반례들도 다 맞는데 틀렸습니다가 떠서 그냥 자러갈까 생각했지만 옆에 그림을 그려놓고 범위를 다 적어둔 다음 코드를 차근차근 보니 범위를 하나 잘못설정한게 있었다. 애초에 표랑 범위를 그려놓고 짜는게 더 효율적일것 같다는 교훈 python3으로 제출하니 시간초과가 나서 pypy3으로 제출함 import ..

문제 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 풀이 압축후 길이를 체크하는 함수(check)를 만들고, 메인(solution) 함수에서는 문자열의 길이의 반만큼 포문을 돌면서 체크 함수를 호출해 그 중 가장 작은 값을 최종적으로 리턴해줬다. # 메인 함수 def solution(s): # 최소값을 일단 압축전 문자열의 길이로 설정 min = len(s) # 1 ~ 압축 전 문자열의 길이의 반까지 포문으로 돌며 check함수 호출, # 압축된 문자열의 길이 리턴받아 최소값 갱신 for i in ra..
- Total
- Today
- Yesterday
- 안드로이드
- 안드로이드 카카오톡으로 로그인
- Kotlin
- flutter simultor
- 코틀린 리스트뷰
- 코틀린 바텀네비게이션
- 백준
- 백준알고리즘
- 코틀린 데이터바인딩
- 시뮬레이터 키보드
- 투포인터 알고리즘
- 백준 2003
- 카카오 기출
- kotlin fragment
- 투포인터 알고리즘 파이썬
- 코틀린 뷰바인딩
- 카카오톡으로 로그인 오류
- 코틀린
- 백준 1644
- 파이썬 최대공약수
- 전화번호목록 파이썬
- 코틀린 뷰페이저
- 카카오 키해시
- 백준 1806
- 소수 구하기 파이썬
- 프로그래머스
- TextFormField keyboard
- counting sort
- 데이터바인딩 뷰바인딩 차이
- 안드로이드 키해시
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |