일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- html cell size
- Django
- Spring
- html cell
- Dependency
- Django column 값 가져오기
- Django 특정 값 가져오기
- html
- Dependency Injection
- table cell size
- DI
- table tag
- Today
- Total
emluy 개발 일기
C++ - (백준) 삼성기출 20056번 마법사 상어와 파이어볼 본문
0. 문제
1. 문제 해석
1-1. 1번 행은 N번 행과 연결되어 있고, 1번 열은 N번열과 연결되어 있다
ex) 3X3 map 일 때
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
: 6번 자리에 파이어볼이 있고 방향은 2일때 map 바깥으로 나가는 것이 아니라 1번 열과 3번 열이 연결되어 있으므로 4번에 위치하게 된다. rotation
1-2. 모두 홀수이거나 모두 짝수이면 ~하고 아니면 ~해라.
: 홀수, 짝수 변수를 bool 타입으로 선언 후 true 로 초기화함(최종으로 나올 경우의 수를 살피고 의미를 먼저생각후 초기화를 true로 할지 false로 할지 정해야함).
파이어볼들의 방향을 하나씩 살펴볼때 짝수이면 홀수변수를 false로, 홀수이면 짝수변수를 true로 변경해줌.
-> 최종 나올 수 있는 경우의 수는 3가지
짝수 | 홀수 | 의미 |
true | false | 방향이 모두 짝수 |
false | true | 방향이 모두 홀수 |
false | false | 방향이 짝수 홀수 섞임 |
-> true true는 나오면 안된다~! 그러니까 처음에 true true로 초기화해주고 모두 짝수면 홀수 변수의 값을 바꿔주고 모두 홀수면 짝수 변수를 바꿔준다! (짝수면 짝수변수 값을, 홀수면 홀수 변수 값을 변환해주는게 아님~!)
2. 풀이 순서
- NXN map에서 각 자리에 여러개의 파이어볼이 위치할 수 있다. 각 파이어볼은 속성 여러개(좌표,질량,속도)를 갖는다.
-> 파이어볼은 struct 타입, map은 파이어볼 struct 타입의 2차원 배열
-
3. 알아야하는 것
3-1. struct 타입의 vector
-구조체 원소들을 중괄호 이용해서 push_back( )
3-2. struct vector로 이루어진 배열
- 칸마다 vector 한번에 삭제
- 칸에 vector 넣기
4. 중요한 것
4-1. 배열의 가장 왼쪽 위 좌표는 (0,0)이 아닌 (1,1)이다!! -> 조건을 잘 볼것!
'알고리즘 > c, c++' 카테고리의 다른 글
C++ - (백준) 10845번 큐 (0) | 2021.01.08 |
---|---|
C++ - (백준) 20058번 마법사 상어와 파이어스톰 (0) | 2021.01.04 |
Mac - VsCode 에 C/C++ 개발환경 세팅하기 (1) | 2020.12.31 |
C++ - (프로그래머스) BFS/DFS 여행경로 (0) | 2020.10.17 |
C++ - (프로그래머스) BFS/DFS 네트워크 (0) | 2020.10.16 |