혼종 꼬지마루
이 문제도 똑같이 구현을 잘 해줄 수 있느냐의 문제 입력받은 데이터는 이렇게 구성되어있다. N : 게임 스테이지의 갯수stages : 순서대로 각 유저가 몇번 스테이지에 있는지 입력받고 개인적으로 편하게 구현하기 위해 구조체 배열을 선언해서 만들었다 각 유저가 도달해 있는 stage 바로 앞까지는 해당 유저가 clear한 stage 이므로 check배열을 만들어서 그 스테이지를 끝낸 것으로 간주하고, 구조체 배열에는 그 스테이지에 머물러 있는 사람의 갯수를 넣어준다. 그리고 나서 단순히 for문을 돌면서 나눠주면 끝. 이 때 주의해야할 점이 모든 유저가 stage를 clear한 경우 그 실패한 유저가 0이므로 그대로 나눠주면 runtime error가 난다 이 문제는 단순히 if문 하나로 예외처리 해주면..
https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV18KWf6ItECFAZN(이 글이 문제가 될 시 삭제하도록 하겠습니다.) 이 문제도 K번째 접미어 처럼 TRIE로 풀면 된다. TRIE를 사용하는 이유는 입력과 동시에 자동으로 정렬하는 효과를 볼 수 있기 때문이다. 순회하며 순서대로 탐색하기 때문이다. 일단 입력되는 문자열을 TRIE로 만들어 준다. 순회하며 처음 방문하는 node에 check를 하며 갯수를 세준다. 이때 중복되는, 문제에서 처럼 food 의 경우는 o가 두번 나오게 되는데 node에 check 변수를 넣어주는 이유는 이 중복을 제거하기 위해서이다. 따라서 현재 방문한 노드에 check가 ..
https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV18GHd6IskCFAZN(이 글이 문제가 될 시 삭제하도록 하겠습니다.) TRIE 유형을 다시 공부하게 되는 계기가 되었다. 접미어가 나올 수 있는 갯수가 문자열의 숫자랑 같기 때문에 그렇게 탐색에 많이 걸리지는 않는다. 입력받는 문자열을 모두 TRIE로 접미어화 시켜서 입력한다. 그 후에 문자열을 모두 끝까지 순회하면서 검색한다. 끝에 도달했을 때 숫자를 세면서 K번째가 되는 접미어를 찾는다. 순회하며 탐색할때는 vector로 구현해줘도 되고, 단순히 배열로 해줘도 되는데 간편하게 vector로 구현했다. 123456789101112131415161718..