일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 카카오
- Java
- 2019 카카오 공채
- Baekjoon
- 2019 카카오 개발자 겨울 인턴십 코딩테스트
- 부스트코스
- 2018 카카오 공채
- 2018 KAKAO BLIND RECRUITMENT 1차
- 2020 카카오 공채
- 프로그래머스
- bfs
- 삼성 SW 기출문제
- 백준
- gradle
- 2019 KAKAO BLIND RECRUITMENT
- 2018 KAKAO BLIND RECRUITMENT
- 비트마스크
- set
- map
- 2018 카카오
- 카카오 공채
- 삼성 SW 역량테스트
- 자바
- CS 스터디
- 알고리즘
- 젠킨스
- c++
- gcp
- dfs
- 2020 KAKAO BLIND RECRUITMENT
Archives
- Today
- Total
아무코딩
[2020 KAKAO BLIND RECRUITMENT] 자물쇠와 열쇠 본문
더보기
채점을 시작합니다.
정확성 테스트
테스트 1 〉 | 통과 (0.06ms, 3.79MB) |
테스트 2 〉 | 통과 (0.00ms, 3.8MB) |
테스트 3 〉 | 통과 (1.80ms, 3.84MB) |
테스트 4 〉 | 통과 (0.00ms, 3.8MB) |
테스트 5 〉 | 통과 (0.41ms, 3.82MB) |
테스트 6 〉 | 통과 (0.11ms, 3.84MB) |
테스트 7 〉 | 통과 (5.96ms, 3.88MB) |
테스트 8 〉 | 통과 (8.41ms, 3.77MB) |
테스트 9 〉 | 통과 (1.00ms, 3.8MB) |
테스트 10 〉 | 통과 (2.40ms, 3.86MB) |
테스트 11 〉 | 통과 (9.75ms, 3.86MB) |
테스트 12 〉 | 통과 (0.00ms, 3.86MB) |
테스트 13 〉 | 통과 (0.78ms, 3.91MB) |
테스트 14 〉 | 통과 (0.19ms, 3.83MB) |
테스트 15 〉 | 통과 (1.52ms, 3.79MB) |
테스트 16 〉 | 통과 (6.71ms, 3.91MB) |
테스트 17 〉 | 통과 (0.38ms, 3.78MB) |
테스트 18 〉 | 통과 (4.07ms, 3.77MB) |
테스트 19 〉 | 통과 (0.04ms, 3.77MB) |
테스트 20 〉 | 통과 (5.45ms, 3.77MB) |
테스트 21 〉 | 통과 (2.91ms, 3.88MB) |
테스트 22 〉 | 통과 (1.21ms, 3.79MB) |
테스트 23 〉 | 통과 (0.35ms, 3.75MB) |
테스트 24 〉 | 통과 (0.36ms, 3.87MB) |
테스트 25 〉 | 통과 (7.32ms, 3.82MB) |
테스트 26 〉 | 통과 (9.15ms, 3.79MB) |
테스트 27 〉 | 통과 (15.07ms, 3.87MB) |
테스트 28 〉 | 통과 (1.61ms, 3.89MB) |
테스트 29 〉 | 통과 (0.61ms, 3.8MB) |
테스트 30 〉 | 통과 (2.13ms, 3.94MB) |
테스트 31 〉 | 통과 (4.86ms, 3.79MB) |
테스트 32 〉 | 통과 (9.57ms, 3.8MB) |
테스트 33 〉 | 통과 (2.43ms, 3.89MB) |
테스트 34 〉 | 통과 (0.09ms, 3.91MB) |
테스트 35 〉 | 통과 (0.20ms, 3.83MB) |
테스트 36 〉 | 통과 (0.26ms, 3.91MB) |
테스트 37 〉 | 통과 (0.28ms, 3.8MB) |
테스트 38 〉 | 통과 (0.04ms, 3.83MB) |
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
테케가 너무많아서 캡처가 되지 않았다...
문제풀이
키를 4방향으로 돌려가며 완탐하며 모두 맞춰가며 맞춰지는 부분을 카운트한다.
체크하는 부분에서 실수가 좀 있어서 걸렸다.
소스코드
더보기
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
#include <iostream>
#include <string>
#include <vector>
using namespace std;
vector<vector<int>> turnKey(vector<vector<int>> key,int key_size){
vector<vector<int>> a(key_size,vector<int>(key_size,0));
for (int i = 0; i < key_size; i++) {
for (int j = 0; j < key_size; j++) {
a[j][key_size - 1 - i] = key[i][j];
}
}
return a;
}
bool Check(int kr,int kc,vector<vector<int>> key, vector<vector<int>> lock,int check_cnt,int key_size,int lock_size) {
int cnt = 0;
for (int i = 0; i < key_size; i++) {
for (int j = 0; j < key_size; j++) {
if (i+kr < 0 || i+kr >= lock_size || j+kc < 0 || j+kc >= lock_size)
continue;
if (key[i][j] == 1 && lock[i+kr][j+kc] == 0) {
cnt++;
}
else if (key[i][j] == 1 && lock[i+kr][j+kc] == 1)
return false;
else if (key[i][j] == 0 && lock[i+kr][j+kc] == 1) {
continue;
}
else if(key[i][j] ==0 && lock[i+kr][j+kc]==0){
continue;
}
}
}
if (cnt == check_cnt)
return true;
else
return false;
}
bool solution(vector<vector<int>> key, vector<vector<int>> lock) {
int cnt=0;
int key_size = key.size();
int lock_size = lock.size();
for (int i = 0; i < lock_size; i++) {
for (int j = 0; j < lock_size; j++) {
if (lock[i][j] == 0) {
cnt++;
}
}
}
if(cnt==0)
return true;
for (int i = 1 - key_size; i < lock_size; i++) {
for (int j = 1 - key_size; j < lock_size; j++) {
for (int k = 0; k < 4; k++) { //4방향 회전
if (Check(i, j, key, lock, cnt, key_size,lock_size)) {
// cout << i << "," << j <<endl;
// for (int r = 0; r < key_size; r++) {
// for (int c = 0; c < key_size; c++) {
// cout << key[r][c] << " ";
// }
// cout << endl;
// }
// cout << endl;
return true;
}
key = turnKey(key, key_size);
}
}
}
return false;
}
|
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/60059
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[2018 KAKAO BLIND RECRUITMENT 3차] 파일명 정렬 (0) | 2020.04.29 |
---|---|
[2020 KAKAO BLIND RECRUITMENT] 외벽 점검 (0) | 2020.04.28 |
[2018 KAKAO BLIND RECRUITMENT 3차] 압축 (0) | 2020.04.24 |
[2018 KAKAO BLIND RECRUITMENT 3차] 자동완성 (0) | 2020.04.19 |
[프로그래머스 SQL] 보호소에서 중성화한 동물 (0) | 2020.04.18 |
Comments