본문 바로가기

전체 글191

[백준] 2841 외계인의 기타 연주 c++ 구현 목차 https://www.acmicpc.net/problem/2841 2841번: 외계인의 기타 연주 첫째 줄에 멜로디에 포함되어 있는 음의 수 N과 한 줄에 있는 프렛의 수 P가 주어진다. (1 ≤ N ≤ 500,000, 2 ≤ P ≤ 300,000) 다음 N개 줄에는 멜로디의 한 음을 나타내는 두 정수가 주어진다. 첫 번째 www.acmicpc.net 문제 문제 구현 방향 스택에 대해서 공부하는 겸 스택을 구현하고 약간 변형하여 문제를 풀어보았다. 스택 구조 설명 List* ListInit(): 스택의 초기화를 해준다. bool ListisEmpty(): 스택이 비어있으면 true를 반환해준다. void ListPush(int data, int* fingercount): 기존 스택 형태에 finge.. 2024. 1. 27.
[백준] 1158 요세푸스 문제 c++ 구현 목차 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 문제 문제 구현 방향 이번 문제는 원형 연결리스트를 직접 구현해보고 싶었기 때문에 c++에 제공된 라이브러리를 이용하지 않고 직접 코드를 작성해 보았다. 원형 연결리스트 설명 adt의 구성은 다음과 같다. List* ListInit(): 리스트의 초기화를 해준다 bool LisEmpty(): 리스트가 비어있는 지 확인해주어 비었다면 true를 반환해준다. int LFirst(int* data): 첫번째 데이터의 값을 반환해주고 올바르게 반환이 된었다면 true를 리턴한다. void .. 2024. 1. 27.
[백준] 3190 뱀문제 c++ 구현 목차 https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 문제 문제 접근 방법 머리 꼬리를 보고 연결리스트로 구현해야겠다는 생각이 들었다. 그 과정에서 경우를 나누어서 생각해 보았다. 뱀이 사과를 먹지 않은 경우 이 경우에는 뱀 머리의 위치를 추가해준 뒤 뱀 꼬리의 위치를 추가해준다. 그 후 뱀의 꼬리 위치를 삭제 해준다. 뱀이 사과를 먹은 경우 이 경우에는 뱀 머리의 위치를 추가한 뒤 뱀 꼬리의 위치를 추가해준다. 그 후 뱀의 꼬리 위치를 삭제하지 않는.. 2024. 1. 27.
728x90