본문 바로가기

분류 전체보기233

[백준] 2374 같은 수로 만들기 c++ 구현 목차 https://www.acmicpc.net/problem/2374 2374번: 같은 수로 만들기 n(1 ≤ n ≤ 1,000)개의 자연수 A[1], A[2], A[3], …, A[n]이 있다. 이 자연수에 Add(i)라는 연산을 하면, A[i]가 1만큼 증가한다. 이때, A[i]만 증가하는 것이 아니고, A[i]의 좌우로 인접한 같은 수의 그룹이 한 www.acmicpc.net 문제 문제 구현 방향 c++에 있는 스택 라이브러리를 이용하여 가독성 있게 구현 해 보았다. 문제 풀이 시 주의점 나는 처음에 연결리스트로 되지 않을 까 하는 생각에 연결리스트의 중복을 제거한 뒤 가장 작은 값을 증가시킨 후 종료 조건을 검사하는 식의 로직을 짯다 하지만 이 방식은 이중 순회를 하기 때문에 빅오가 n^2이 나.. 2024. 1. 30.
[백준] 6198 옥상 정원 꾸미기 c++ 구현 목차 https://www.acmicpc.net/problem/6198 6198번: 옥상 정원 꾸미기 문제 도시에는 N개의 빌딩이 있다. 빌딩 관리인들은 매우 성실 하기 때문에, 다른 빌딩의 옥상 정원을 벤치마킹 하고 싶어한다. i번째 빌딩의 키가 hi이고, 모든 빌딩은 일렬로 서 있고 오른쪽으 www.acmicpc.net 문제 문제 구현 방향 c++에 있는 스택 라이브러리를 이용하여 가독성 있게 구현 해 보았다. 문제 풀이 시 주의점 정수의 범위가 매우 크기 때문에 long long int로 풀어줘야 한다. 안 그러면 방법이 맞았는데도 맞았는데도 헤매는 참사가 일어난다. 얼핏 간단해보여 이중 순회로 풀게 되면 빅오 표기법으로 n^2이 나오게 되어 시간초과를 하게 된다. 따라서 스택을 이용해서 풀게 되면.. 2024. 1. 28.
[백준] 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.
728x90