백준189 백준 3190 c++ "뱀" -PlusUltraCode- https://www.acmicpc.net/problem/3190 [필자 사고]이 문제는 큰 틀에서 보면 BFS 탐색 문제이다. 다만 이 문제만의 특별한 점은 아래와 같다.1. 이동하는 뱀2. 사과를 먹은 후 뱀의 상태3. 뱀의 이동방향4. 벽에 부디치거나 몸통에 부디치면 종료 총 4개로 나눌 수 있다. 필자는 첫 번째 이동하는 뱀과 사과를 먹은 후 뱀의 상태에서 많은 어려움이 있었다.고민의 고민한 결과 큐를 이용하여 뱀의 이동과정을 기록하였다. 다른 분들의 코드를 참고해보면 덱을 이용하신 분들도 있었다. 같은 원리이기 때문에 설명은 생략한다.아래는 소스코드 해설이다. 함수 설명configGoTo()현재 시간에 따라 방향을 변경합니다. path 맵에서 nowTime에 해당하는 방향 변환이 있을 경우, 이.. 2024. 10. 12. 백준 14889 c++ "스타트와 링크" -PlusUltraCode- https://www.acmicpc.net/problem/14889 [필자 사고]여러명의 N명중 N/2명을 골라야 되는 문제이다.즉 조합을 이용하여 해결해야 된다.조합관련한 알고리즘은 재귀형태를 이용한 DFS방식을 사용 하면 된다. 필자는 처음에 N/2명을 조합으로 고른 뒤 다시2명을 조합으로 고르는 형식으로 코드를 작성했다.그 과정에서 많은 벡터들이 만들어지고 불필요한 코드들이 생겨 결국 시간초과라는 결과를 얻었따. 곰곰히 생각해보니 2중 for문을 사용하면 굳이 2명정도는 조합을 사용하지 않아도된다는걸 이 문제를 통해 크게 느끼게 되었다. 아래는 소스코드 해설이다. Input() 함수:이 함수는 입력 데이터를 처리합니다. 먼저 N명의 사람 수를 입력받고, N x N 크기의 능력치 행렬을 구성합니다.. 2024. 10. 11. 백준 13458 c++ "시험 감독" -PlusUltraCode- https://www.acmicpc.net/problem/13458 [필자 사고]삼성기출문제이다.실수할 요소들이 2가지가 존재한다.C의 값이 1일경우 N이 100만명 모든 반에 100만명이 있을경우 필요한 감독수는 Integer 범위를 넘어가게 된다.즉 long 형태로 resultCount를 선언해야 된다. 두 번째는 B의 값이 1000000일경우 number - B 의 형태가 음수가 되는 상황이 존재한다.이럴경우도 신경 써야 한다. 2가지 실수 포인트만 조심하면 쉽게 문제를 해결 할수 있따. 아래는 소스코드 해설이다. 주요 개념입력 및 초기화N: 입력받을 정수의 개수.arr: N개의 정수를 저장하는 벡터. 각 정수는 시험을 치르는 사람의 수를 나타냅니다.B, C: 감독관의 감시 가능 인원 수. B는 총.. 2024. 10. 9. 백준 15686 c++ "치킨 배달" -PlusUltraCode- https://www.acmicpc.net/problem/15686 [필자 사고]조합을 이용한 백트래킹 문제이다.조합알고리즘에서 가장 중요하다고 생각하는 점음 아래와 같다.1. 자신이 방문한 곳은 true 처리하고 방문이 끝나면 false처리 !!2. 재귀를 이용하여 DFS탐색과 유사 그리고 이 문제에서 house의 위치를 배열에 저장해 놓고 chicken집의 위치또한 배열에 저장해 놓은 다음 그 둘의 거리를 구하는 공식을 이용하여 부루스트알고리즘을 사용하여 문제를 해결해 나가면 된다. 처음에 필자는 거리구하는 공식이 아닌 BFS탐색을 고집하여 최단거리를 찾으려고 했지만.시간초과가 나게 되었다. 문제에서 최단거리 구하는 공식을 괜히 준게 아니라고 생각한다.다음 부터는 문제에서 어떤 공식이 주어지면 이 .. 2024. 10. 8. 이전 1 ··· 14 15 16 17 18 19 20 ··· 48 다음