[백준 1091 : 카드 섞기 ]
이 문제도 5달 전에 풀었다가 포기했었던 문제였나보다.
오늘 틀렸던 문제 다시풀기 중 풀게 되었다.
문제를 읽는데 헷갈려서 머리카락 한 10번은 쥐어짠듯.
아마 전에 풀었을때는 P배열이 각 카드가 최후에 어떤 사람한테 가야하는 지를 명시하는건데 이걸 모르고 풀었던 것 같다.
문제 설명도 좀 이상하다. 일단 초기 카드 순서가 어떻게 설정되어있는지를 알려주지 않는다.
알려주지 않아서 카드가 0~N-1순서로 되어있게 설정하고 풀었다.
내가 푼 방식은
카드 상태 배열 변수 한 개, 그 전 카드 상태 배열 변수 한 개,
카드 섞인 모습은 해시에 계속 저장, 각 카드의 섞인 모습 저장용 벡터 배열 한개.
이렇게 놓고 풀어따.
WHILE(1) 속에서 한 번이라도 HASH[카드가 섞인 모습]에 값이 있으면 종료하고
이건 P배열처럼 카드가 이동하지 않았다는 것이므로 -1을 출력한다.
만약 WHILE(1)이 끝나기 전에 각 카드의 벡터 마지막 인덱스가 각 P배열과 일치한다면
그때가 최소 횟수로 카드 섞었을 때이니 카운트를 출력하고 프로그램을 종료시켰다.
변수가 좀 난잡한데 나중에 좀 더 깔끔하게 수정해야겠다.
그리고 이번엔 그냥 라이브러리 다 사용했는데 연습할때는
최대한 라이브러리를 구현해서 하는 편인데 귀찮아서 그냥 해버렸다. 이것도 나중에 자료구조 직접 구현해서 다시 풀어봐야 할 듯.
이 블로그 검색
피드 구독하기:
댓글 (Atom)
-
아마 나와 비슷한 나이대의 학생들은 대부분 대학에서 수업을 들으면서 꾸준하게 들었을 것 같다. 물론 내가 그래서 그렇다. 4차산업~ IT의 시대~ 빅데이터~ 데이터 마이닝~ 하지만 컴퓨터 관련 전공자가 아니고 더군다나 공학 계열 전공자가 아니라...
-
[ 백준 11501 : 주식 ] 그리디 문제였다. 생각만 하면 쉬운 문제라고 생각한다. 처음에 dp인가? 라고 생각하면서 테스트 케이스를 하나씩 풀어보다가 그냥 단순하게 풀 수 있겠다 싶어서 제출 했는데 맞았습니다! 가 떠서 으음! 다행이다 ...
-
[ 백준 5213 : 과외맨 ] BFS + DFS 를 이용하는 문제 일단 맵이 정말 특이하게 생겼다. 보통 보던 N*M의 직사각형의 모양이 아니라 짝수번째 행은 맨 처음과 마지막 열이 비어있다. 문제를 풀 때 고려할 것은 이것 뿐인것같다. ...
[백준 16236] 아기 상어
[ 백준 16236 : 아기 상어 ] 2018 삼성전자 sw직무 하반기 기출문제입니다. 역대 삼성전자 기출문제가 그렇듯 역시나 BFS,DFS,완탐,DP,단순구현 입니다. 저는 문제를 단순히 BFS로 풀어갔습니다. 조건만 잘 지킨다면 한번에 ...
소스가 안보여요
답글삭제