일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 플로이드 와샬
- 백트래킹
- 비트마스킹
- 2021 KAKAO BLIND RECRUITMENT
- SWEA
- 트라이
- 다익스트라
- 우선순위큐
- 시뮬레이션
- 2020 카카오 인턴십
- BFS
- 크루스칼
- 구현
- 파이썬
- 투 포인터
- 2018 KAKAO BLIND RECRUITMENT
- 스택
- Spring
- 조합
- 2020 KAKAO BLIND RECRUITMENT
- 2019 KAKAO BLIND RECRUITMENT
- 이분탐색
- 프로그래머스
- 플로이드와샬
- 백준
- GIT
- 투포인터
- 로봇 청소기
- 최소 신장 트리
- 브루트포스
- Today
- Total
목sssssss록구현 (34)
개발조아
문제 링크 : https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 구현, 시뮬레이션 문제이다. 보통 이런 시뮬레이션 문제는 문제에서 하라는대로만 하면 잘맞긴했다. 근데 그게 어려울뿐... 문제는 톱니바퀴를 하나 회전했을 때 주변 톱니바퀴의 상태에 따라 같이 회전한다. 주어진 입력대로 다 회전후 모든 톱니바퀴의 상태에 따라 점수를 계산하라 이다. 회전을 시작하는 톱니바퀴는 좌우 톱니바퀴를 확인한다. 주변 톱니바퀴는 한쪽 방향만 확인하면 된다. f..
문제 링크 : https://www.acmicpc.net/problem/16927 16927번: 배열 돌리기 2 크기가 N×M인 배열이 있을 때, 배열을 돌려보려고 한다. 배열은 다음과 같이 반시계 방향으로 돌려야 한다. A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] www.acmicpc.net 2차원 배열을 규칙에 바깥부터 한꺼풀씩 돌리는 것이다. 반시계 방향으로 돌리는 것이다. 그냥 쉽게 숫자 하나씩 반시계방향으로 한칸씩 밀면서 하려고 보니 최대 10^9 만큼 돌려야한다. 그러므로 한바퀴 돌릴때 원소의 개수를 구해서 모듈러 연산을 이용하여 횟수를 줄이자. 4x4 행렬일 경우 첫..
문제 링크 : https://www.acmicpc.net/problem/16434 16434번: 드래곤 앤 던전 첫 번째 줄에 방의 개수 N (1 ≤ N ≤ 123,456) 과 용사의 초기 공격력 HATK (1 ≤ HATK ≤ 1,000,000) 가 주어집니다. i+1번째 줄엔 i번째 방의 정보를 나타내는 세개의 정수 ti, ai, hi (ti ∈ {1, 2}, 1 www.acmicpc.net 이분 탐색으로 풀었다. 최대 HP는 모든 칸이 다 몬스터이고 모든 애들의 공격력과 체력이 1백만이라 했을 때 123456*1백만*1백만이다. 1~최대 HP까지에서 이분탐색으로 hp찾아보자. hp를 선택했으니 시뮬레이션 돌려보자. 만약 돌린 결과가 False가 나온다면 선택한 hp로는 부족하다는 뜻이다. 그러므로 m..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/60063 코딩테스트 연습 - 블록 이동하기 [[0, 0, 0, 1, 1],[0, 0, 0, 1, 0],[0, 1, 0, 1, 1],[1, 1, 0, 0, 1],[0, 0, 0, 0, 0]] 7 programmers.co.kr 막상 풀고보니 그렇게 어려운 문제가 아닌듯 했다. 물론 생각하는데 좀 걸렸지만, 그래도 두시간정도 걸린듯 하다. 로봇을 상하좌우, 회전하여 n,n칸으로 이동할 때 최소 시간을 구하는 문제이다. 로봇의 좌표가 두개이고 n의 크기가 100으로 작아서 4차원 배열로 방문 체크를 했다. 최소 시간을 구하라해서 BFS를 이용했다. 로봇의 이동은 그냥 두좌표 동시에 상하좌우 이동시키고 유..
문제 링크 : https://www.acmicpc.net/problem/11967 11967번: 불켜기 (1, 1)방에 있는 스위치로 (1, 2)방과 (1, 3)방의 불을 켤 수 있다. 그리고 (1, 3)으로 걸어가서 (2, 1)방의 불을 켤 수 있다. (2, 1)방에서는 다시 (2, 2)방의 불을 켤 수 있다. (2, 3)방은 어두워서 갈 수 없으 www.acmicpc.net BFS + 구현 문제이다. 알고리즘 자체는 어렵지 않으나 상태값을 잘못 지정하여 틀리고 있었다. 문제는 간단하다. 맵에 특정칸에는 다른 칸의 조명을 켤수 있는 스위치가 있고, 주인공은 상하좌우로 조명이 켜진 칸으로만 이동이 가능하다. 한 스위치로 여러개의 조명을 컨트롤 가능하고 한 조명이 여러 스위치에 의해 컨트롤이 가능하다. 이..
문제 링크 : https://www.acmicpc.net/problem/10836 10836번: 여왕벌 입력의 첫 줄에는 격자칸의 가로와 세로 크기 M(2 ≤ M ≤ 700)과 날짜 수 N(1 ≤ N ≤ 1,000,000)이 자연수로 주어진다. 첫날 아침의 애벌레 크기는 모두 1이므로 입력에 주어지지 않는다. 다음 N개의 www.acmicpc.net 처음에는 그날그날 모든 칸의 크기를 구해서 넣어줬다. 그랬더니 시간이 너무 오래 걸려서 다시 생각해봤다. 모든 애벌래는 1부터 시작하고 첫번째 행, 첫번째 열을 제외하고는 그칸에서 왼쪽, 오른쪽, 왼쪽위칸의 값중 가장 큰값이 해당 칸의 크기가 된다. 그렇기 때문에 그냥 첫행, 첫열의 값만 구해주면 된다. 입력으로 들어온 값은 애벌레들이 자라는 정도를 왼쪽 제..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/84021 코딩테스트 연습 - 3주차 [[1,1,0,0,1,0],[0,0,1,0,1,0],[0,1,1,0,0,1],[1,1,0,1,1,1],[1,0,0,0,1,0],[0,1,1,1,0,0]] [[1,0,0,1,1,0],[1,0,1,0,1,0],[0,1,1,0,1,1],[0,0,1,0,0,0],[1,1,0,1,1,0],[0,1,0,0,0,0]] 14 [[0,0,0],[1,1,0],[1,1,1]] [[1,1,1],[1,0,0],[0,0,0]] 0 programmers.co.kr 질문하기에 너무 공감됐던 글이다. 1,2주차는 쉬웟는데 갑자기 너무 어려워졌던 문제였다. 올해 LG CNS 8월 입사자 4번 문..
문제 링크 : https://www.acmicpc.net/problem/18808 18808번: 스티커 붙이기 혜윤이는 최근에 다양한 대회를 참여하면서 노트북에 붙일 수 있는 스티커들을 많이 받았다. 스티커는 아래와 같이 사각 모눈종이 위에 인쇄되어 있으며, 스티커의 각 칸은 상하좌우로 모두 연 www.acmicpc.net 주어진 스티커를 순서대로 붙이는데 회전이 가능하다. 이때 스티커가 겹치거나 범위를 벗어나면 안되야하고 회전했는데도 못붙이는 경우에는 해당 스티커는 버린다. 스티커 회전의 경우 Maaaaaaaaaze 풀면서 썼던 방식과 비슷한데 다른 점이 하나 있다. Maaaaaaaaaze의 경우 회전해도 배열의 크기가 같지만 이번 문제는 회전하면 가로, 세로 길이가 서로 바뀐다. 그래서 바뀐 길이만큼..