일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 크롤링
- C++
- 모델링
- dfs
- BFS
- 개인정보수집유효기간
- Queue
- 코딩
- 코테준비
- 프로그래머스
- 에이블스쿨
- 코테공부
- 상어중학교
- 미니프로젝트
- 코테
- 데이터전처리
- map
- 음수와 size 비교
- 백준
- 머신러닝
- python
- 코테연습
- 파이썬
- 알고리즘
- 스터디
- 취준
- 코딩테스트
- Ai
- 21609
- kt에이블스쿨
- Today
- Total
목록코테공부 (6)
얼레벌레

문제 https://www.acmicpc.net/problem/16235 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 www.acmicpc.net 시간초과 코드 봄, 여름, 가을, 겨울에 대한 함수를 만들고 sol함수에서 K년 만큼 반복하도록 했다. 그리고 살아있는 나무 vector 배열 (배열의 각 인덱스는 (x, y)를 한 줄로 바꾼 인덱스이며, 각 벡터에 들어있는 원소는 살아있는 나무의 나이이다), 죽은 나무 vector 배열, 양분 배열을 만들었다. 봄 살아있는 나무 vector 배열을 탐색한다. 각 벡터에서 어..

문제 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 시간초과 코드 처음엔 재귀함수로 풀었다. 입력받을 때 아기상어의 위치를 저장하고 각 칸을 탐색하며, 자신의 몸집보다 작은 물고기를 찾는다. 찾았을 경우 상어의 위치에서 해당 물고기까지의 거리를 계산하는데 (최단 경로이기 위해), 이 때 재귀함수를 썼다. 한마리라도 찾았을 경우에는 check=true 를 만들어준다. 최종적으로 최단경로를 저장한 후에는 상어가 그 쪽으로 이동해 물고기를 ..

문제 https://www.acmicpc.net/problem/21609 21609번: 상어 중학교 상어 중학교의 코딩 동아리에서 게임을 만들었다. 이 게임은 크기가 N×N인 격자에서 진행되고, 초기에 격자의 모든 칸에는 블록이 하나씩 들어있고, 블록은 검은색 블록, 무지개 블록, 일반 블록 www.acmicpc.net 삽질의 여정 저 블록 그룹 설명을 보고, 나는 각 그룹의 기준 블록이 무조건 행의 번호가 작고, 열의 번호가 작은 블록인 줄 착각했다. ('무지개 블록이 아닌' 고려 안함) 그리고 오토플레이 설명에서 블록 삭제 과정의 3번째 조건인 '기준 블록의 우선순위'에 대해서, 행의 번호가 작고 열의 번호가 작은 블록이 우선인 줄 알았다. (큰게 우선임) 그래서 처음에는 왼쪽 위 (0, 0) 에서부..

문제 https://www.acmicpc.net/problem/21608 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net 이 문제는 몇 달 전에 시도했다가 실패했는데 재도전한 문제다! 이번에 해결해서 뿌듯했다. 풀이 몇 달 전에 시도했을 때는 다른 블로그 글들 보면서 코드 짰는데, 지금은 혼자 짰다!! 아주 장족의 발전이다 ~! 나는 저렇게 밴다이어그램처럼 반복문 scope를 그리면서 접근하는 게 이해가 잘 됐다. 문제에서 준 조건들이 번호가 매겨져 있어서 각각 요구하는 것들이 명확했다. (다른 문제..

문제 설명 생각하기 또 다시 next_permutation으로 해결했다. next_permutation 만세만세 만약 예시처럼 3가지 던전 1, 2, 3이 있다면 1->2->3, 1->3->2, 2->1->3, 2->3->1, 3->1->2, 3->2->1 이런식으로 순서를 다 고려해줘야 한다. (각 던전별로 최소필요피로도, 소모피로도가 다르니까) 그래서 순서를 정해주기 위한 벡터 arr을 생각해 냈다. arr 벡터에 0부터 (dungeons 사이즈 - 1) 까지 숫자를 넣고 arr 벡터를 next_permutation을 하는데, 내부에서는 for문으로 arr 벡터를 처음부터 끝까지 돌며(i), arr[i]에 있는 순서를 k라고 하면, 현재 유저 피로도가 dungeons[k][0]보다 크거나 같고 dun..

문제 설명 생각해보기 제일 먼저 떠오른 건 next_permutation.. 너였어.. 내가 사랑하는 next_permutation 1. 만약에 n자리 string이라고하면 그 string에서 1자리, 2자리, ... n자리 이렇게 골라야 하니까 여기서 1과 0으로 구성된 숫자를 고르는 벡터 n 생성 (0이면 그 자리수 선택 x, 1이면 선택 o) 2. 그리고 나서 n을 next_permutation 돌리면서 각 자리 수를 선택해 arr 벡터에 넣어줌 3. 그렇게 고른 arr 벡터를 next_permutation 돌리면서 경우의 수를 만들고, 각 경우에서 생성된 숫자들을 lists 벡터에 넣음 4. 최종적으로 lists 벡터를 sort 하고나서, 중복으로 나타나는 숫자 제거 5. 중복 제거한 lists ..