본문 바로가기

반응형

공부/알고리즘 문제풀이

(96)
[알고스팟] 실험 데이터 복구하기 RESTORE
[BOJ] 1158번 조세퍼스 문제 조세퍼스 문제 링크 어떻게 풀까? 해당 문제는 환형 링크드 리스트를 이용했습니다. 환형 링크드 리스트란?!처음과 끝이 연결되어있는 링크드 리스트입니다! 환형 링크드 리스트는 보통 링크드 리스트와는 조금 다르게 head가 없습니다!왜냐하면, 어짜피 끝과 처음이 연결되어 있기 때문입니다! tail의 바로 다음이 head가 되겠죠! 해당 문제는 환형큐를 만들기만 하면 아주 쉽게 해결됩니다. m칸 옮긴 다음에 해당 칸을 삭제후 출력하는 것을 n번 반복하면 되기 때문이죠! 예제를 풀어보면, 처음에 리스트에는 1,2,3,4,5,6,7 이 들어있습니다!그리고 커서를 3번 옮겨줍니다.그러면 3에서 커서가 멈추게 됩니다!3을 출력후 삭제합니다! 출력 : 3환형 리스트 : 1,2,4,5,6,7커서 : 2 또다시 커서를 3..
[BOJ] 2161번 문제 카드1, 2164번 문제 카드2 카드1 문제 링크카드2 문제 링크어떻게 풀까? 두 문제는 N만 다르지 거의 같은 문제입니다! 두 문제를 풀기 위해 리스트를 사용했습니다. 카드 1의 경우에는 리스트에서 맨 앞에 하나는 출력하고 리스트에서 삭제합니다.그리고 또다시 맨 앞의 수를 삭제하고 맨 뒤에 넣습니다.이 행동을 n-1번 반복하면 마지막 카드가 남고, 이 카드를 출력해주면 됩니다! 예제를 한번 풀어보겠습니다! 처음에 리스트에는 1,2,3,4,5,6,7이 들어있습니다. 맨 앞에있는 수는 출력하고, 2는 삭제한 뒤에 맨 뒤에 다시 넣어줍니다. 이제 맨 앞의 수가 3이 되고, 해당 수를 출력하고 삭제합니다.4는 삭제하고 맨 뒤로 보냅니다. 이제 맨 앞의 수는 7이 됩니다. 7을 출력하고 리스트에서 삭제합니다.2도 리스트에서 삭제 후에 맨 뒤에..
[알고스팟] 웨브바짐 ZIMBABWE클릭시 이동합니다! 웨브바짐문제답안 제출통계문제 정보문제 ID시간 제한메모리 제한제출 횟수정답 횟수 (비율)ZIMBABWE2000ms65536kb842354 (42%)출제자출처분류JongMan알고리즘 문제 해결 전략보기문제계란 한 개에 _ _ _ _ _ _ _ _ _ _ _ _ _ 웨브바짐 달러!계획 경제의 실패로 세계 최고의 인플레이션을 자랑하게 된 공산 국가 웨브바짐에서는 하루 중에도 물가가 계속 오르기 때문에 물건의 가격을 실시간으로 바꿔야 합니다. 웨브바짐에서 가장 큰 무가베 마트에서는 그래서 위와 같이 빈 칸만 쓰여 있는 광고판을 붙여놓고 계란 가격이 오름에 따라 (정확히는 웨브바짐 달러의 가치가 추락함에 따라) 실시간으로 숫자가 크게 적힌 플라스틱 판을 빈 칸에 갈아 끼웁니다. ..
[SW Expert Academy] 괄호 짝짓기 괄호 짝짓기 SW Exeprt Academy의 문제들은 무단복제가 금지되어있기 때문에 링크로 대체합니다. 어떻게 풀까? 대표적인 스택 활용 문제입니다. 열린 괄호의 경우에는 모두 스택에 저장합니다.그리고, 닫힌 괄호가 나타나면 스택의 맨 위의 괄호와 비교합니다. 만약, 스택의 맨 위의 열린 괄호와 현재 나타난 닫힌 괄호가 매칭이 되지 않는다면 제대로 맞지 않는 괄호겠죠! 또한, 마지막에 스택 사이즈도 확인해야 합니다.스택 사이즈가 0이 아니라면, 열린 괄호가 많이 남아있다는 것이겠죠! 이 상황도 괄호의 짝이 맞지 않는 경우입니다. 간단한 예시 문제 2개를 풀어보겠습니다. 열린 중괄호이기 때문에 스택에 넣습니다.마찬가지로 열린 대괄호이기 때문에 스택에 넣습니다.마찬가지로 열린 소괄호이기 때문에 스택에 넣습..
[SW Expert Academy] 길찾기 길찾기 SW Expert Academy는 문제 복제가 금지되어 있기 때문에 링크로 대체하겠습니다. 어떻게 풀까? 대표적인 DFS / BFS 문제입니다.저 같은 경우는 그냥 시작점에서 큐를 돌려서 BFS를 이용해서 풀었습니다! 0번 노드에서 시작해서 0번 노드에서 이어지는 노드들을 모두 큐에 넣은 후에 방문 했다는 것을 체크해 둡니다.만약, 99번 노드가 나온다면 바로 연결되어있다는 것으로 끝내주면 됩니다.하지만 큐가 빌 때까지 99번 노드를 찾을 수 없다면, 시작 노드에서 끝 노드로 갈 수 없다는 것이 될 것입니다! 문제를 하나 풀어보겠습니다. 큐에 시작점인 0을 넣고, 0번을 방문 했다고 체크 합니다. 큐의 가장 위에 있는 0번 노드가 시작 노드가 됩니다.0번 노드가 가리키는 1번과 2번 노드를 큐에 ..
[알고스팟] 드래곤 커브 문제 링크 드래곤 커브문제답안 제출통계문제 정보문제 ID시간 제한메모리 제한제출 횟수정답 횟수 (비율)DRAGON2000ms65536kb1009577 (57%)출제자출처분류JongMan알고리즘 문제 해결 전략보기문제드래곤 커브(Dragon curve)는 간단한 수학 규칙으로 그릴 수 있는 그림으로, 위 그림같은 형태를 지닙니다. 드래곤 커브는 선분 하나에서 시작해서 간단한 규칙으로 이 선분을 변형해서 만들어지며, 변형이 한 번 이루어져 세대가 변할 때마다 더욱 복잡한 모양으로 진화합니다. 이 도형같이 일부를 확대했을 때 전체와 비슷한 형태로 구성된 도형들을 프랙탈(fractal) 이라고 하지요.드래곤 커브를 그리는 방법을 드래곤 커브 문자열이라고 부릅시다. 드래곤 커브 문자열은 X, Y, F, +, -로..
[SW Expert Academy] 코드 배틀! 이번주 화요일에도 코드 배틀이 있었습니다![Battle 23] 장마 기간에는 쾌적한 실내에서 코드 배틀!이었군요..역시! 비 오는날에도 쾌적하게 즐길 수 있는 갓갓 알고리즘!!! 오늘도 한번 풀어보겠습니다! SW Expert Academy의 문제는 저작권이 있기 때문에 링크로 대체하겠습니다!문제 제목을 클릭하면 해당 문제로 이동합니다으아 4615. 재미있는 오셀로 게임 큰 알고리즘이 필요 없는 간단한 구현 문제입니다!돌이 놓여진 좌표에서 대각선, 위, 아래, 왼쪽, 오른쪽 팔방향에서 돌이 어떻게 바뀌는지만 구현하면 됩니다! 돌이 놓여지다가 같은색 돌을 만나게되면, 그 사이에 있는 돌들을 자신의 돌로 바꾸고 바꾼 갯수만큼 해당 돌의 수를 올려주면 됩니다!또한, 돌을 놓았기 때문에 놓아진 돌의 수 1개도 함..

반응형