목록분류 전체보기 (162)
IT recording...
https://www.acmicpc.net/problem/15685 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커 www.acmicpc.net [풀이] 규칙을 찾는 것이 힘들어 키보드 잡기까지 한 시간이 넘게 걸린 문제.. 규칙은 이전 세대의 (끝점 -> 시작점) 방향을 차례로 시계방향으로 회전한 후 그것을 새로운 끝점에 더하는 것이었다. (쓰고보니까 문제의 설명이랑 같은데 왜이렇게 이해하기 어려웠는지.. 사실 아직도 어렵다) (그림에서 1을 시계방향 회전에서 끝점에 더하고, 2를 시계방향 회전해서 새로운 끝점..
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net [풀이] 사방으로 이동하면서 연결된 집들의 갯수를 구하는 문제 1. 집들을 모두 ArrayList에 넣어두고, 방문하지 않은 집을 모두 방문하며 dfs를 들어간 횟수를 구한다. (answer) 2. 하나의 집단 탐색이 끝났을 때 총 몇 번 지나왔는지 세기 위해서 전역변수로 count를 두고 새끼dfs를 들어갈 때마다 증가시킨다. 그리고 하나의 집단 탐색이 끝나면 queue에 add (오름차순으로 정..
https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net [풀이] 문제를 보고 키보드를 잡기까지 상당한 시간이 걸렸다. 어떻게 풀이 방법을 생각해야할지를 모르겠었기 때문이다 처음에는 다음과 같이 생각했다. 홀수개의 사다리 선이 있으면 i -> i 제자리로 돌아올 수 없으므로 홀수인 애들한테 가서 dfs를 돌리면 되지 않을까? 그래서 짝수인 경우는 사다리를 놓지 않고, 홀수인 경우에만 하나씩 놓아서 문제를 해결하려 해보았다. 그런데 테케는 다 맞았지만 ..
https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net [풀이] 백트래킹에 조금의 응용이 더 들어간 문제였다. 1. 일단 조합을 구해야 한다는 점에서 처음 백트래킹을 사용해야겠구나 생각했다. 2. 근데 생각해보니까, 총 6명일 때 [1,2,3]조합을 구한다면 [4,5,6]은 자동으로 상대 팀이 된다. 그럼 dfs를 절반만 돌릴 수 있다는거 아닌가? 라는 생각에 일단 6C3값(factorial이라고 써놓음)을 구해서 그 이상이면 컷하게 했다. 3. 그리고 팀 구성의 경우 원..
https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감 www.acmicpc.net [풀이] 1. CCTV의 위치들을 저장한다. (얘네 차례로 돌리면서 dfs끝까지 갈거임) 2. CCTV종류마다 어느 방향으로 가야하는지 switch문으로 분류해줌 (parameterXXX 호출) - 1이면 상, 하, 좌, 우 - 2면 상하, 좌우 - 3이면 상우, 우하, 하좌, 좌상 - 4면 좌상우, 상우하, 우하좌, 하좌상 - 5면 상하좌우 3. 근데 범위를 벗어나거나, 벽을 만날때까..
https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 www.acmicpc.net [문제 풀이] - 역시 삼성의 구현 문제 답게 별 알고리즘은 필요없고 문제 꼼꼼히 읽고 구현하는 문제 - 정말 별로다 너무 디버깅이 힘들다 ㅜㅜ - 나는 톱니가 1,4번이면 각각 2번,3번만 체크하면 되고 2,3번이면 각각 1,3번, 2,4번을 체크해야 하는 것을 보고 재귀 짤바에야 톱니 4개밖에 없으니까 그냥 if문으로 각각 경우 다 해주는게 나을것같다고 생각했다. - 근데 주의할점, 이렇..
https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net [문제 풀이] - 조건이 매우 까다로운 구현 문제였다. 처음 문제 읽고 난독증와서 완전히 이해 못함 - 경사는 무조건 '낮은칸'에만 설치한다. - 경사가 높아지는지, 낮아지는지의 경우의 수를 나누어 풀이한다. - 경사를 설치한 곳에 또 설치를 할 수 없기 때문에 visited 배열을 활용한다. * 높이 차 > 2 -> fail * 높이 차 ==0 -> 그냥 한 칸 증가 * 높이 차 ==1 * 경사가 높아지는 경우 : 이..
[더 편하게 보고 싶다면 -> 원본 링크] https://adorable-aspen-d23.notion.site/Spring-Spring-Boot-Redis-6ecda14328a34ec1a0e3dc2990a51277 [Spring] Spring Boot + Redis 연결하기 1. Redis란? adorable-aspen-d23.notion.site 4. Redis 설치 4-1. macOS 나는 macOS를 사용하고 있어서 Brew를 사용했다. brew install redis //시간이 좀 많이 걸린다.(기다리기) //redis 시작 brew services start redis //redis-cli 켜기,사용 redis-cli //redis 중지 brew services stop redis //red..
[더 편하게 보고 싶다면 -> 원본 링크] https://adorable-aspen-d23.notion.site/Spring-Spring-Boot-Redis-6ecda14328a34ec1a0e3dc2990a51277 [Spring] Spring Boot + Redis 연결하기 1. Redis란? adorable-aspen-d23.notion.site 4. Redis의 자료구조, 명령어 완전 도움 된 글 [Redis] Redis의 기본 명령어 [Redis] Redis 자료구조 알아보기 아래에서 소개하는 애들은 cli에서 사용하는 명령어들이다. spring 에서는 비슷하게 생긴 거 골라서 쓰면 된다. ex) //cli에서 **zrevrange** keyabc 0 8 //spring에서 Set redisCru..
[더 편하게 보고 싶다면 -> 원본 링크] https://adorable-aspen-d23.notion.site/Spring-Spring-Boot-Redis-6ecda14328a34ec1a0e3dc2990a51277 [Spring] Spring Boot + Redis 연결하기 1. Redis란? adorable-aspen-d23.notion.site 1. Redis란? 트랜잭션이 자주 일어나는 화면에서 속도가 느려짐을 느끼곤 한다. 거의 모든 사용자가 조회하는 화면 등에서 DB에 접근하여 쿼리를 날리는 거니까 그럴만하다. 그럼 어떻게 해결하지? → Redis! 💡 Redis = Remote + Dictionary + Server Redis는 인메모리 데이터 구조 저장소로, 데이터베이스, 캐시, 메시지 브..