문제 링크 https://www.acmicpc.net/problem/14226 해결 팁 클립보드 복사를 했는지 안했는지 알 수 없기 때문에 clip 변수를 struct에 선언한다. visited 를 2차원으로 선언하여 다음화면 에 따라 확인한다. 가장 빠른 방법을 찾
문제를 풀면서 아무 생각없이 쭉 구현했을 때 'ㅗ, ㅏ, ㅜ, ㅓ' 모양을 제외하고는 전부 잘 동작한다.
고작 실버2 문제에 이렇게 스트레스를 받을 이유가 없는데 왜 안되나 계속 돌려도 테스트 케이스들은 다 맞았다.팀원들을 넣는 경우의 수를 dfs로 돌려야 한다.그러면 팀원들을 짜는 조합인데 중복이면 안된다. (1, 1, 1)이 들어가면 안됨그래서 dfs 내 반복하기 위한
간단하게 생각해서당일 일을 하는 경우당일 일을 안하는 경우로 나눠서 접근해봤다.일을 한다면 일을 할 때 소요되는 시간은 visited 배열로 체크를 해준다.당일 일을 하는 경우1.내가 전날의 일을 하는중이 아니고 ( visited 가 0이고 )2.일을 하는데 걸리는 시
풀이방법
구현 문제이다.뱀은 덱 으로 구성된다 -> 머리를 추가해야 할 때도 있고 꼬리를 지워야 할 때도 있기 때문사과는 지도에서 1로 표시되고, 뱀은 2로 표시된다.사과의 좌표를 받을 때에는 1을 빼준값을 지도에 표시한다.이렇게 세가지만 유념하면 구현하는것은 생각만 하면 풀
내가 풀이한 방법은 문제에 나와있는 그대로 구현으로 옮긴 것이다.그래서 Map의 가로줄을 전부 검사한 후 세로줄을 검사한다.한칸 한칸 확인하면서 옆칸과의 높이차이를 계산한다.그리고 그 차이가 2면 그 줄은 불가. 0이면 바로 통과1일때가 문제인데 이때는 올라가는 경사로
0 : 빈칸 (사각지대) 1 : 한방향 2 : 반대 3 : 직각 4 : 3방향 5 : 4방향 6 : 벽 7 : CCTV 시야 범위나는 7을 CCTV의 시야 범위로 정하고 문제를 풀었다.DFS로 백트래킹 하면서 CCTV의 번호에 따라 방향을 정해주는 식으로 풀었다.CC
연합은 바이러스처럼 퍼져나가므로 BFS를 사용하는것이 편하다.(큐에 넣고 빼면서 인접한 나라들을 넣으면 됨)연합이 발생하지 않을 때 까지 반복 = while문 을 통해 무한반복 시킴.(while 안에 처리해주는 함수를 넣는다고 단순하게 생각)Map을 for문을 돌면서
후기
파티에서 만난 사람들끼리 서로 만났다는 의미로 meet나 에 체크해줬고,진실을 아는 사람들을 전부 큐에 넣어서 BFS를 돌린다.그 사람들과 만난 모든 사람들을 전부 진실을 아는 사람으로 바꾸어 준다.그 후 파티들을 체크하면서 진실을 아는 사람이 껴있는지 확인하면서 카운
1번 풀이. 결론만 보자면 짝수면 SK 홀수면 CY를 출력2번 풀이. DP로 풀어보기점화식 : ( DPi = min ( DPi - 1 + 1, DPi - 3 + 1 )1번 코드2번 코드처음에는 그냥 간단하게 "엥 짝수 홀수에 따라 나누면 끝 아닌가" 해서 그렇게 풀었는
DP 배열과 입력을 받을 arr 배열을 선언 후 진행dp1 은 1계단의 값dp2 는 1 + 2 계단의 값dp3 은 max(1 + 3, 2 + 3) 의 값이다.계단이 쭉 있을때 최댓값은도착 2칸 앞 계단의 dp값 + 도착 계단도착 3칸 앞 계단의 dp값 + 도착 1칸앞
어렵다... 처음에는 단순하게 모든 벽을 한번씩 부숴본다 생각하고 이중 for문으로 모든 벽들을 한번씩 지우고 BFS()를 돌려주었다. 물론 시간초과가 날거같아서 조건을 걸었는데 벽(1) 동서남북에 하나라도 공간(0)이 있어야 BFS를 돌린다. 모든 테스트
황토색 토지에 들어갈 배양액들의 모든 경우의 수 구하기BFS를 통해 배양액을 확산시키기풀이는 상당히 간단해 보이지만 숨은 디테일들을 잘 살려서 풀어야 한다.모든 경우의 수 구하기\-> 황토색 칸은 최대 10칸이다. 그 중 어느 칸에다가 빨간액, 초록액을 넣을지 정해야한
난이도에 비해 생각을 한번 더 했던 문제였던것 같다.처음에 벨트의 시작과 끝을 연결하는 부분이 좀 막혔었다.중복을 허용하지 않는 map으로 해볼까 해서 map으로 구현을 돌렸는데 시간초과가 났다.map에 insert 하고 find 한 후 clear를 해주는 과정이 꽤나
소수를 판별하는 부분이 중요한 문제이다.소수란 (prime number) 1~n 까지 숫자중에서 1과 n을 뺀 나머지 숫자로 나눠지지 않는 숫자이다.이것을 단순하게 for문으로 구현하면 50점짜리 답.\-> 시간초과가 발생한다.여기서 한시간을 싸매다가 풀이를 참고하게
골드 2 문제라 살짝 겁먹고 들어갔는데투포인터에 익숙하지 않아서(?) 오히려 잘 풀렸던 것 같기도 하다.생각보다 간단하다.(컴파일 에러는 배열을 int index1001 로 사용했는데 index가 이미 백준 컴파일러에 정의가 되어있다나... 그래서 오류가 난 듯 하다)
https://www.acmicpc.net/problem/21278각 건물에서 건물 까지의 거리를 구해놓고어떤 건물에 치킨집을 차릴 지 조합을 구한다.건물에서 치킨집 사이의 거리를 구하는데 더 가까운 곳으로 계산한다.각 건물 사이의 거리 구하기여기서는 '플로이
종이를 여러 조각으로 잘라서 합을 구하는 문제