본문 바로가기

분류 전체보기107

[자료구조] 백준 1655: 가운데를 말해요 1655번: 가운데를 말해요 (acmicpc.net) 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 발상의 전환이 필요했다. 솔직히 한 번에 풀지 못했고(테스트케이스는 맞았으나, 시간초과가 남) 다른 사람의 풀이를 구글링하고 난 다음에야 문제를 풀 수 있었다. 처음에는, 매 입력마다 list를 정렬하고, 그 가운데 값을 출력하는 간단한 문제로 생각했다. 그러나 이 경우는 매번 전체 리스트를 순회하며 정렬하기 때문에 비효율적이었다. 그래서 구글링을 통해 알게 된 발상이, input을 받는 자료.. 2024. 3. 3.
[구현] 백준 23304: 아카라카 팰린드롬 23304번: 아카라카 (acmicpc.net) 23304번: 아카라카 주어진 문자열 $S$가 아카라카 팰린드롬이라면, AKARAKA를 출력한다. 만약 그렇지 않다면, IPSELENTI를 출력한다. www.acmicpc.net 어떤 문자열이 앞으로 읽어도, 뒤로 읽어도 똑같으면 그것을 팰린드롬이라고 한다. 여기에, 해당하는 문자열의 중심을 기점으로 접두사와 접미사 역시 팰린드롬인 것을 '아카라카 팰린드롬'이라고 정의하고, 주어진 문자열이 아카라카 팰린드롬임을 확인해야 한다. 먼저 해당 문자열이 앞으로 읽어도, 뒤로 읽어도 같은지 판단한다. for (int i = 0; i < str.size(); i++) { if (str[i] != str[str.size() - 1 - i]) { return false;.. 2024. 1. 18.
[Git] fatal: refusing to merge unrelated histories remote repository를 변경할 일이 있어서 git bash에 다음 command를 입력하여 remote repository를 변경하였다. git remote set-url origin [new repository] 새로운 repository에 .gitignore 등의 파일이 생겼고, local에서 push하기 전에 pull을 시도했더니 해당 오류가 발생했다. 서로 연결된 적이 없는 두 프로젝트를 merge하려고 하면 git에서 이를 거부하는 것이라고 한다. 때문에 이를 강제로 진행 가능하도록 허가해 주어야 한다. git pull origin main --allow-unrelated-histories --allow-unrelated-histories를 붙여서 pull을 시도하면 해당 오류 없이 .. 2024. 1. 17.
[자료구조] Priority Queue 정의 Queue는 각 요소들 간의 우선순위(Priority)가 없이 FIFO(First In First Out, 선입선출법) 방식으로 데이터를 처리하였다. 반면, Priority Queue의 모든 요소는 로 이루어져 있다. 그리고 이 Key가 요소들 간의 우선순위를 결정한다. 가령, Priority(Key)의 값이 낮을수록 더 높은 우선순위를 부여한다고 가정하자. {, , , } 와 같은 Priority Queue가 있을 때, remove 연산을 수행하면 가장 Key 값이 낮은 가 Priority Queue에서 제거되고, {, , }가 되는 방식이다. 구현 Priority Queue를 구현하는 방식에는 다음 두 가지가 있다. 1. Unsorted List로 구현 2. Sorted List로 구현 위 두 .. 2024. 1. 17.