일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- GIT
- BFS
- 백트래킹
- 2019 KAKAO BLIND RECRUITMENT
- 이분탐색
- 2020 KAKAO BLIND RECRUITMENT
- 파이썬
- 투 포인터
- 조합
- 플로이드 와샬
- 투포인터
- 2021 KAKAO BLIND RECRUITMENT
- SWEA
- 우선순위큐
- 크루스칼
- 시뮬레이션
- 2020 카카오 인턴십
- 2018 KAKAO BLIND RECRUITMENT
- 최소 신장 트리
- 다익스트라
- 프로그래머스
- 로봇 청소기
- 브루트포스
- 백준
- 구현
- 비트마스킹
- 트라이
- Spring
- 플로이드와샬
- 스택
- Today
- Total
목sssssss록알고리즘 (108)
개발조아
문제 링크 : https://www.acmicpc.net/problem/22352 22352번: 항체 인식 첫 번째 줄에는 SP 촬영 결과의 크기를 의미하는 두 정수 $N$과 $M$이 주어진다. ($1 \le N, M \le 30$) 이는 촬영 결과가 세로로 $N$칸, 가로로 $M$칸 크기의 격자라는 것을 의미한다. 다음 $N$개의 줄에는 www.acmicpc.net 결과 값이 다른 한칸에서 bfs 돌려서 값을 업데이트 해주고 비교해주면 되는 간단한 bfs 문제이다. 처음에는 모든 칸에서 bfs를 돌렸다. 값이 다른 구역은 한번만 나와야하니 bfs 돌리기 전에 값이 다른 구역이 두번 나온지 체크하고 두번이면 no 출력하고 bfs 돌리다가 두 구역의 모양이 다르면 no 출력하는 방식으로 했다. 모든칸 체크..
문제 링크 : https://www.acmicpc.net/problem/3197 3197번: 백조의 호수 입력의 첫째 줄에는 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1500. 다음 R개의 줄에는 각각 길이 C의 문자열이 하나씩 주어진다. '.'은 물 공간, 'X'는 빙판 공간, 'L'은 백조가 있는 공간으로 나타낸다. www.acmicpc.net 몇번 못풀다가 다시 풀어보고 오늘 드디어 맞았다. 처음 맞았을 때 너무 느려서 다시 풀었지만 그래도 좀 느린거 같다. 처음 풀었을 때 너무 복잡하게 생각했던 것 같다. 좀 단순하게 문제를 볼 필요가 있는듯하다. 이전 풀이 알고리즘 및 코드 더보기 얼음이 녹을 때 여러 물들이 합쳐지는 것에서 시간이 많이 잡아 먹힌듯 하다. 1.처음 백조의 위치를 저장해둔다..
문제 링크 : https://www.acmicpc.net/problem/8111 8111번: 0과 1 각각의 테스트 케이스마다 N의 배수이면서, 구사과가 좋아하는 수를 아무거나 출력한다. 만약, 그러한 수가 없다면 BRAK을 출력한다. www.acmicpc.net 경우의 수가 2^100이기 때문에 단순히 BFS만으로는 절대 불가능하기 때문에 가지치기가 중요하다. 나는 도저히 방법이 떠오르지가 않아서 핵심 알고리즘들을 좀 찾아봤다. 그래서 찾은게 모듈러 연산을 통해서 하는 것이다 a%b = c 일때 d는 임의의 아무숫자이고 c 끝에 d를 붙인 숫자를 b로 모듈러 연산한 값을 e라 하고 a 끝에 d를 붙인 숫자를 b로 모듈러 연산한 값을 f라 하면 e와 f의 결과 값은 같다. 예를들어 2479%7 = 1 일..
문제 링크 : https://www.acmicpc.net/problem/1963 1963번: 소수 경로 소수를 유난히도 좋아하는 창영이는 게임 아이디 비밀번호를 4자리 ‘소수’로 정해놓았다. 어느 날 창영이는 친한 친구와 대화를 나누었는데: “이제 슬슬 비번 바꿀 때도 됐잖아” “응 지금 www.acmicpc.net 에라토스테네스의 체랑 BFS를 사용하면 어렵지 않게 풀 수 있는 문제이다. 출발 숫자에서 한번에 한자리씩 바꾸면서 목표 숫자까지 도달해야하는데 이때 중간에 만들어지는 모든 숫자도 소수여야한다. 테스트케이스 개수까지 입력받으므로 미리 9999까지 소수를 찾아 놓고 테스트케이스를 시작하자. 각 자리 숫자 바꾸는 건 문자열 슬라이싱으로 바꾸고 이를 형변환해서 사용했다. from sys import..