본문 바로가기

반응형

Blog for Programming

(158)
[백준 알고리즘] 10773번 1. 문제와 실행결과 예시 이번 문제는 스택을 잘 알고있는 사람이라면 매우 쉽게 풀 수 있는 알고리즘 문제이다. (심지어 push()와 pop() 메소드만 구현하면 된다 ㄷㄷ) 그리고 바로 전에 풀었던 문제(10820번)에서 이미 스택을 구현했기 때문에, 런타임 에러 해결을 위한 구글링 시간을 제외한다면 10분도 걸리지 않았다! 다음은 10773번 문제에 대한 안내이다. 출처: https://www.acmicpc.net/problem/10773 흠......일단 문제만 봐서는 아직 잘 모르겠지만 (나만 그럴수도 ㅎ) 실행결과를 보면 구현해야할 코드가 확실해진다. 다음은 실행결과 예시이다. 2. 문제풀이 - stack() 구현 실행결과 예시를 보면 알겠지만 '0'을 입력받으면 pop()을 실행하고 '0'이..
[백준 알고리즘] 10828번 1. 문제와 실행결과 예시 백준 알고리즘을 풀어보았다...... 단계별로 풀기로 쭉 풀이를 진행하였지만 기초적인 문제를 제외하고 자료구조나 알고리즘같은 응용문제를 블로그에 정리할까 한다 ㅎㅎ 문제는 다음과 같다. 출처: https://www.acmicpc.net/problem/10828 보다시피 기본적인 스택 연산을 구현하는 스택 문제이다. 조금 다른 점이 있다면 입력받은 수 만큼 명령어를 받고 명령어를 실행하는 것? 이것을 제외하면 책에서 읽은 (학교에서 배운) 스택문제와 똑같다. 나름 연결리스트를 사용하고 싶었지만, 최대 입력값이 주어졌기에, 배열로 구현했다. 클래스를 사용한 이유는 복습도 하고 클래스 공부도 할겸 ㅎㅎ...... 같은 문제를 연결리스트로 구현한 스택으로 풀어 다시 이 블로그에 올렸으..
자료구조 10주차 과제 - 이중 원형 연결리스트 1. 과제 안내문 이번 과제는 이중 연결 리스트에 대한 과제입니다. 이중 연결 리스트에서 앞/뒤로 이동하는 것과 삽입/삭제에 대한 연산입니다. 이중 연결 리스트는 원하는 대로 앞/뒤로 이동이 가능하기 때문에 꼭 첫 노드만 가리킬 필요가 없습니다. 어느 한 노드만 알고 있으면 원하는 대로 이동 가능하기 때문입니다. 이번 과제에는 이중 연결 리스트에 새로운 노드를 삽입하고, 기존의 노드를 삭제하고, 앞뒤로 이동하면서 data를 출력하는 내용입니다. 이번 과제에는 앞/뒤로 이동이 가능한 이중 연결 리스트이고, 또한 마지막 노드가 첫 노드를 가르키는 원형 연결 리스트이고, 헤드 노드는 없는 연결 리스트입니다. 아래의 연산자들을 완성하기 바랍니다. 다음은 명령에 대한 설명이다. L ;; pList를 왼쪽으로 움직..
C++을 활용한 게임 만들기 1. 개요 행렬 Class를 사용해서 게임을 만들어 보았습니다 헤헿. 왜냐면 과제였기 때문이죠ㅎ. 사실 과제는 행렬을 사용한 프로그램 만들기였는데, 저는 그냥 게임을 만들었습니다. (사실 너무 허접해서 게임 같지도 않습니다......) 이차원 배열로 평면을 표현할 수 있다고 생각하고 전체적인 게임판은을 만들고 그 위에서 연산을 통해 캐릭터를 이동시키는...... 방법을 생각해보았습니다 ㅎㅎ 물론 완성도는 매우 낮으므로 욕만 하지 말아주세요 ㅎㅎ 굳이 행렬을 왜 Class로 만드느냐! 그냥 C++문법 연습도 하고 나름 자료구조 처럼 이용해보고 싶었습니다...... 2. 코드 구성 - 행렬 Class 구현 다음은 제가 작성한 행렬 Class입니다. 그냥 이 게임에서 필요한 기능만을 만들어서 제가 작성한 Cl..
Java 9주차 과제 - JFrame, ActionListener 1. 과제 안내문 다음과 같이 On 혹은 Off 버튼을 누르면 출입문과 창문의 색상이 변경되는 JFrame 애플리케이션을 작성하라. 출입문과 창문이 처음에는 집과 같은 회색이다가 On 버튼이 눌리면 노란색으로 바뀌고, Off 버튼을 누르면 다시 회색으로 바뀐다. 최대한 아래 그림과 동일하게 완성하라. 집과 출입문 등은 paint 메소드에서 그린다. 하단의 버튼 2개는 JPanel(FlowLayout)에 넣고 그 JPanel을 내용창(BorderLayout)의 하단("South")에 배치하면 된다. 스윙 컴포넌트와 paint 메소드가 둘 다 필요한 프로그램이므로, 유사한 구조를 가지는 LightOnOffExample 클래스를 참고하여 작성하라. 우리 학교의 java교수님은...... 그래픽을 너무 좋아하신..
자료구조 9주차 과제 - 원형 리스트 1. 과제 안내문 이번 과제는 목걸이 문제를 프로그래밍 한다. 목걸이 문제는 목걸이에서 스킵/삭제를 반복하여 최종적으로 남는 구슬을 찾는 문제이다. 목걸이는 1부터 n까지 번호가 부여된 구슬들로 구성되고, 1번부터 스킵과 삭제를 반복하여 마지막까지 남은 구슬의 번호를 찾는다. 다시 말해 1번 구슬은 건너뛰고, 2번 구슬은 삭제되고, 3번 구슬은 건너뛰고, 4번 구슬은 삭제되는 방식으로 구슬이 하나만 남을 때까지 반복된다. 이렇게 반복하여 마지막까지 남은 구슬의 번호를 찾는다. 목걸이 문제를 해결하는 방식은 2 가지 해결책이 있다. 첫째로 1부터 n까지 데이터를 가지는 노드들을 원형 연결 리스트로 만든 목걸이에서 1부터 시작하여 스킵과 삭제를 반복하는 방식으로 시물레이션에 의하여 답을 찾는다. 둘째로 일반..