일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring
- AWS
- LCS
- Thymeleaf
- 프로그래머스
- LEVEL1
- java
- 백준
- siver3
- gold5
- 배포
- jpa
- leetcode
- 개념
- PYTHON
- 오류
- HTML
- Kakao
- glod4
- 구현
- leetcode 69
- 9252
- mysql
- CSS
- Gold4
- error
- 백엔드
- LEVEL2
- gold2
- glod5
- Today
- Total
목록백준 (36)
이 험난한 세상에서어어~
문제 설명 cctv의 종류와 해당 cctv가 감시하는 방향이 주어졌을 때 감시받지 않는 사각지대의 최소 수를 구하는 문제다. 문제가 복잡하니 백준으로 가서 찬찬히 살펴본 다음에 해설을 보는 것을 추천한다. https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net 문제 풀이 첫 번째 접근 문제에서 요구한 대로 입력을 받아줬다면, cctv가 갈 수 있는 방향을 먼저 배열로 정해줘야 한다. 이러한 문제에서 지금까지 그래왔듯이 북동남서의 방향대로 열..
문제 설명 치킨 집 중 총 m개만을 남겨둔 상태로 도시의 치킨 거리의 최솟값을 구하는 문제다. 문제가 이래저래 복잡하니 백준에 가서 문제 이해를 한 뒤 풀이를 보는 걸 추천한다. https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 문제 풀이 첫 번째 접근 1. 기본적인 셋팅 문제를 풀 때 제일 먼저 생각했던 건 현재 도시에 있는 치킨 집의 위치를 알아야 겠다는 것이었다. 그렇기에 값을 받아 2차원 배열로 돌리면서 2가 있으면 ..
문제 설명 0이 들어 있는 칸에 총 세 개의 벽인 1을 세워서 바이러스가 퍼진 후 남은 0의 최대 갯수를 세는 문제다. https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 문제 풀이 첫 번째 접근 이번에도 총 세 가지 순서로 문제에 접근했다. 1. 벽을 세 개 세운다. 0이 있는 부분에 벽을 세우는데, 이는 재귀함수를 이용해서 풀었다. count가 3이 되기 전까지 벽을 세우는데, 중요한 점은 return을 한 다음에 세운 벽을 0으로 되돌려 줘야 한다는 거다..
문제 설명 반시계 방향 90도로 돌면서 청소할 수 있는 칸이면 로봇이 청소를 한다. 청소가 가능한 칸은 총 몇 개인지 구하는 문제이다. 이 과정을 간단하게 아래에 설명해 보겠다. 1. 현재 칸이 청소되지 않았다면 청소한다. 2. 현재 칸을 기준으로 사방에 청소할 수 있는 칸이 있는지 확인한다. 2-1. 청소할 수 있는 칸이 있다면 2-1-1. 90도로 회전한 뒤 바라보는 방향을 기준으로 한 칸 앞에 청소 할 수 있는지 확인한다. 2-1-1-1. 청소할 수 있다면 1로 돌아간다. 2-1-1-2. 청소할 수 없다면 2-1-1로 돌아간다. 2-2. 청소할 수 있는 칸이 없다면 2-1-1. 한 칸 뒤로 갈 수 있으면 한 칸 뒤로 간 후 1로 돌아간다. 청소한 곳도 갈 수 있다. 2-1-2. 만일 벽에 막혀 갈 ..
문제 설명 구현 문제가 그렇듯이 문제를 잘 이해해야 한다. 구현 자체는 어렵지 않아도 조건을 제대로 보지 않으면 나처럼 시간을 잡아 먹을 수 있다. 1. NxN 크기의 공간에 물고기가 M 마리가 있고 아기 상어가 1마리 있다. 2. 물고기가 있는 칸에는 물고기의 크기에 상관 없이 물고기가 한 마리만 있다. 나는 이 부분에서 물고기 크기 대로 물고기가 있는 줄 알고 구현했다가 한 30분인가 헤맸다. 하... 3. 아기 상어는 상하좌우로 한 칸씩만 이동한다. 이때 이동할 때마다 1초만큼 시간이 걸린다. 4. 아기 상어는 자기보다 작거나 같은 크기의 물고기는 지나갈 수 있지만, 자기보다 작은 물고기만 먹을 수 있다. 즉, 자기와 크기가 같은 물고기는 지나갈 수만 있고 먹을 수는 없다. 5. 먹을 수 있는 물고..
문제 설명 n개의 파일 이름이 주어지는데, 각 확장자 명으로 파일이 몇 개나 있는지 출력하는 문제다. 만일 여러 개의 파일 확장자가 있으면 이때는 파일 확장자를 사전 순으로 정렬해서 출력한다. 문제 풀이 첫 번째 접근 일단 dic를 사용해서 각 확장자 별로 파일이 몇 개 있는지 확인을 해줘야 했다고 생각했다. 그리고 파일 확장자 명은 list나 set에 넣어서 정렬을 한 후 정렬한 확장자 별로 파일 수를 dic에서 빼면 된다고 생각했다. 아마 java로 문제를 오래 풀어서 그런 거 같은데, 파이썬 dic 정렬을 찾아보니 이것보다 더 쉬운 방법이 있어서 해당 방법으로 풀었다. 두 번째 접근 Python에서 dic를 정렬할 때는 굳이 key 값을 따로 set으로 만들어서 정렬할 필요 없이 items 함수를 ..