일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- python
- BOJ
- 딕셔너리
- datetime
- 큰 수 나누기
- 세그먼트 트리
- SUM
- project euler
- mysql
- 소수
- 자료구조
- Dictionary
- 파이썬
- itertools
- list comprehension
- FOREIGN KEY
- 외래키
- Codeforces
- 네이밍
- floor
- ceil
- lower_case_table_names
- timestamp
- convention
- 2557
- 에라토스테네스의 체
- flask
- enumerate
- SUM()
- 리스트 컴프리헨션
- Today
- Total
목록전체 글 (467)
늒네 기록
5991번: Papaya Jungle (acmicpc.net) 문제를 이해해보자면,n by m 격자 칸에 파파야 열매가 있다. 좌측 상단이 (1,1), 우측 하단이 (n, m).(1,1)에 사람이 있다. 사람은 칸에 있는 파파야를 전부 먹어치운 다음 상, 하, 좌, 우로 움직일 수 있으며, 처음 주어진 격자 칸을 벗어날 수는 없다.움직일 수 있는 칸들 중 가장 많은 파파야가 있는 곳으로 이동하면서 (n, m)에 도착하면 멈춘다.이때 중요한 조건이 두 가지가 있는데,어느 순간에도 파파야가 가장 많은 칸은 유일하게 존재한다.어떤 테스트 케이스에서도 (n, m)에 도달할 수 있는 것이 보장된다.뒤의 두 조건이 더해지면서 매우 간단한 시뮬레이션 문제가 되었다![c,...b]=(0+require('fs').rea..
17848번: Flight Turbulence (acmicpc.net) 문제를 이해해보자면 다음과 같다.n명의 사람이 자리에 앉아있음. 그런데 원래 앉아야 하는 자리가 아닌 곳에 앉아있을 수 있다.m번째 사람이 갑자기 본인 자리에 앉고 싶어짐. 예를 들어, 원래 3번째 자리에 앉아야 하는 사람이 4번째 자리에 앉아있었다가, 원래 앉았어야 하는 자리로 가려고 한다.그래서 3번째 자리에 앉아있던 사람을 쫓아내고 앉아버린다. 그럼 이제 원래 3번째 자리에 앉아있던 사람이 원래 할당된 자리로 가야 한다.만약 3번째 사람의 원래 자리가 4번째 자리였다면 방금 4번 자리에서 사람이 온 것이니 비어있을 것이다. 그럼 그냥 가서 앉으면 된다.그게 아니라 3번째 사람의 원래 자리가 2번째 자리였다면, 또 앉아있는 사람을..
6B TUNES - Melody - bermei.inazawa / UC - MX - YouTube 체감 난이도: ★★★☆☆ 특징:- 초견 풀콤... 이지만 운이 좋았다.- 생소하고 빠른 패턴! 조금만 더 길었으면 풀콤 어려웠을것 같기도 하다. 짧아서 다행.
6B TUNES - Melonaid - KATOMORI - HD - YouTube 체감 난이도: ★★☆☆☆ 특징:- 초견 풀콤- 삑사리가 많이 났다...- 11렙 치고 매우 쉽다. 난이도 별 하나 주려다가 길이가 좀 길어서 둘 줬다.
12852번: 1로 만들기 2 (acmicpc.net) 역으로 추적해나가는 방식으로 푼다. 코드를 짧게 줄이기 위해 오브젝트를 사용했는데, 배열로 풀어도 아이디어는 같다. 나는 오브젝트의 키값에 만들고자 하는 숫자를, 아이템에 해당 숫자에 도달한 경로를 배열로 넣어두었다.숫자 i를 만드는 방법은i가 2로 나뉠 경우 i/2를 만드는 경로에 i 추가.i가 3으로 나뉠 경우 i/3를 만드는 경로에 i 추가.i-1을 만드는 경로에 i 추가.위의 셋이 있는데, 이 중 제일 짧은 경로를 아무거나 하나 택해서 i를 만드는 경로로 사용하면 된다.위와 같은 방식으로 2, 3, ..., n을 만드는 경로를 전부 구하면 끝.n=+require('fs').readFileSync(0)d={1:[1]}i=1while(i++a.l..
17204번: 죽음의 게임 (acmicpc.net) 이 문제와 아이디어가 정확히 같은 문제다.[a,...b]=(0+require('fs').readFileSync(0)).split``;[n,m]=a.split` `i=0k=b[0]while(++i
15886번: 내 선물을 받아줘 2 (acmicpc.net)아이디어는 간단하다. 주어진 지도를 벗어나지 않으므로 문자열은 무조건 E로 시작하고 W로 끝나는 것이 보장되어 있고, E, W를 다음과 같이 화살표로 표시하면 같은 색으로 묶이는 곳의 방향 변경 지점 둘 중 한 곳 아무데나 선물을 놓을 경우 하나의 색을 커버 가능(그 색의 어디서 시작하든 선물을 가져갈 수 있음)하다는 것을 알 수 있다. EEEEEWWWEEEWEEEWWWW →→→→→←←←→→→←→→→←←←← 그리고 앞서 말한 방향 변경 지점은 'EW'로 찾을 수 있다. 즉, 문자열 전체 중 EW가 몇 번 나타나는지 세는 것으로 답을 찾을 수 있다.console.log((2+require('fs').readFileSync(0)).match(/EW/..
6B TUNES - Mess it Up - Nauts - HD (youtube.com) 체감 난이도: ★★★☆☆ 특징:- 되게 적당한 12렙 곡 느낌에 체감 난이도 3별짜리 곡이었다.
6B TUNES - Luv is True - 3rdCoast - HD - YouTube 체감 난이도: ★☆☆☆☆ 특징:- 초견 풀콤- 이것도 9렙 아니면 10렙 정도 느낌이다.
11558번: The Game of Death (acmicpc.net) 배열의 첫 번째 요소부터 시작해서, 해당 요소가 가리키고 있는 배열의 요소를 다시 얻어내고, ... 이걸 여러 번 반복해서 배열의 마지막 아이템에 도달할 수 있는지, 있다면 몇 번의 시행만에 도달할 수 있는지 출력하는 문제. 주요한 아이디어는 다음과 같다.- 첫 아이템부터 시작해서 시뮬레이션으로 풀면 된다. 다만 무한히 시행해도 마지막 아이템에 도달하지 못하는 경우가 있을 수 있다.- n개의 노드로 이루어진 그래프에서는 사이클의 크기가 이무리 커도 n을 넘지 못한다. 그렇기 때문에 시행을 n번 반복했음에도 불구하고 마지막 아이템에 도달하지 못했다면 영영 도달할 수 없다는 말이 된다. a=(0+require('fs').readFileS..