백준(369)
-
[백준 BOJ] 6778번 Which Alien? (C++/cpp)
문제 설명https://www.acmicpc.net/problem/6778 접근 방법 - 값 비교 연산을 활용한 기초 문제백준의 6778번 문제는 값 비교 연산을 통하여 손쉽게 해결할 수 있는 문제이다.해당 문제는, 목격된 생김새(안테나 수, 눈의 수)를 입력으로 받을 때 추측 가능한 외계인의 종류를 구하여 출력하면 되는 문제이다.이때 문제에서 정의된 외계인의 종류는 아래처럼 3가지가 있다.- TroyMartian :: 최소 3개의 안테나, 최대 4개의 눈- VladSaturnian :: 최대 6개의 안테나, 최소 2개의 눈- GraemeMercurian :: 최대 2개의 안테나, 최대 3개의 눈해당 문제는 영어로 작성되어 있어, 필자는 아래의 해석본을 참고하며 문제를 해결하였다.아래 링크에 있는 해석..
2025.03.16 -
[백준 BOJ] 5928번 Contest Timing (C++/cpp)
문제 설명https://www.acmicpc.net/problem/5928 접근 방법 - 기초적인 사칙연산 문제백준의 5928번 문제는 사칙연산을 통하여 간단하게 해결할 수 있는 문제이다.해당 문제는, 11일 11:11에 대회를 시작하여 입력받은 시간에 종료하였을 때 대회를 진행한 총시간을 분 단위로 구하여 출력하면 되는 문제이다.해당 문제가 영어로 기재되어 있어, 필자는 아래에 있는 번역본을 참고하며 문제를 해결하였다.아래 링크의 해석본을 참고하며 문제를 이해하고 해결을 시도해 보면 되겠다.https://www.acmicpc.net/board/view/86039 필자는 개인적으로 시간 계산 문제를 싫어하는지라 살짝 헤맸던 걸로 기억한다. (...)해당 문제를 풀 때엔, 1일이 1440분이며 1시간이 ..
2025.03.16 -
[백준 BOJ] 7785번 회사에 있는 사람 (C++/cpp)
문제 설명https://www.acmicpc.net/problem/7785 접근 방법 - 맵을 활용한 기초 연산 문제백준의 7785번 문제는 맵 자료구조를 활용하여 간단하게 해결할 수 있는 문제이다.해당 문제는, 입력으로 주어지는 직원의 출입 기록을 기반으로 회사에 남아있는 직원의 이름을 구하여 사전 순의 역순으로 출력하면 되는 문제이다.이때 문제 상 회사에는 동명이인이 없다고 명시되어 있으니, 중복으로 회사에 오거나 나가는 경우가 기록되는 경우는 없다고 해석할 수 있겠다. 필자는 처음에는 벡터로 문제 해결을 시도해 보다가 시간 초과가 났는데, 아마 직원 이름을 find()로 일일이 찾는 과정에서 시간이 많이 걸렸던 것 같다.그래서 다른 방법으로 생각한 것이 맵을 활용하는 것이었으며, 맵을 활용 하니 ..
2025.03.07 -
[백준 BOJ] 6159번 Costume Party (C++/cpp)
문제 설명https://www.acmicpc.net/problem/6159 접근 방법 - 기초적인 정렬 활용 문제백준의 6159번 문제는 정렬을 기반으로 하여 해결할 수 있는 문제이다.해당 문제는, 하나의 코스튬를 두 마리의 소가 함께 입을 수 있을 때 코스튬을 함께 입을 수 있는 두 마리의 소의 쌍 개수를 구하여 출력하면 되는 문제이다.이때, 소의 마릿수 -> 코스튬의 길이 -> 각 소의 길이 순으로 입력이 주어지니, 이 점까지 함께 참고하면 되겠다.(문제 지문 해석본이 게시판에 따로 없어, 대충 챗gpt한테 해석을 물었다. 오역이 있을 수는 있으나, 필요하다면 아래 사진으로 참고하면 되겠다.) 사실 이 문제는 "두 포인터" 알고리즘을 활용한다면, 코드를 보다 더 단순하게 작성할 수 있었을 것 같다...
2025.03.06 -
[백준 BOJ] 4358번 생태학 (C++/cpp)
문제 설명https://www.acmicpc.net/problem/4358 접근 방법 - 벡터와 맵을 활용한 연산 문제백준의 4358번 문제는 벡터와 맵 자료구조를 함께 사용하여 해결할 수 있는 문제이다.해당 문제는, 나무들의 종이 모두 입력으로 주어질 때 각 종의 분포 비율을 각각 구하여 사전 순으로 정답을 출력해야 하는 문제이다.이때 각 종의 분포 비율을 출력할 때 소수점 넷째 자리까지 출력하라고 명시되어 있기 때문에 이 점까지 함께 참고하길 바란다. 벡터와 맵 자료구조를 활용하는 데에 익숙하다면, 생각보다 어렵지 않게 풀 수 있을 것으로 예상된다.필자의 경우에는 2개의 자료구조를 아래의 용도대로 활용하였다.vector 각 나무 종의 이름을 저장하는 데에 활용 (나무 종의 사전 순 정렬에 필요)ma..
2025.03.05 -
[백준 BOJ] 15727번 조별과제를 하려는데 조장이 사라졌다 (C++/cpp)
문제 설명https://www.acmicpc.net/problem/15727 접근 방법 - 기초적인 사칙연산을 활용한 수학 문제백준의 15727번 문제는 사칙연산을 활용하여 쉽게 해결할 수 있는 문제이다.해당 문제는, 성우와 민건이의 집 사이의 거리가 입력으로 주어질 때 성우가 민건이를 찾을 수 있는 시간을 분 단위로 구하여 출력하면 되는 문제이다.이때 성우는 1분에 최대 5의 거리를 이동할 수 있다고 하니 함께 참고하면 되겠다. 이 문제는 나눗셈 연산을 통하여 간단하게 해결할 수 있는 문제이다.필자는 아래처럼 방법을 구상하여 코드를 작성하였다.1) 주어진 거리가 12일 때 (예제 입력 1)12 = 5 + 5 + 2성우가 5-5-2씩 이동하여 도착할 수 있으므로, 정답은 3이다.2) 주어진 거리가 20..
2025.03.03