본문 바로가기

분류 전체보기137

백준 11866번 C++ https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 다른 블로그 글들을 찾아보았는데 상위권에 있는 글들이 큐로 풀어져있었습니다. 저는 완전히 다른 방식으로 문제를 풀어서 나름 공부가 되었던 것 같습니다. 큐를 통해서 코딩을 한 것보다 제 코드가 더럽긴 하지만 제 코드를 보고 이렇게도 가능하구나를 한번 느끼셨으면 좋겠습니다. 저는 정말 1차원적으로 생각을 했습니다. 이미 없어진 사람은 없애고 넘으면 다시 원점으로 가서 숫자를 세는 방식을 채택했습니다. 코드는 길지만 아마 코드를 읽어보신다면 이해는 빠르게 될 것입니다. #include.. 2021. 9. 1.
백준 18111번 C++ https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net 이번에는 문제가 생각보다 어려운 문제였습니다. 알고리즘이 어려웠다기 보다는 푸는 방식에 대한 생각을 요구하는 문제였습니다. 저는 이 풀이 과정을 생각하게 된 계기는 숫자가 예시에서 63, 64로 너무 크게 나와서 숫자를 줄이면 더 쉽게 풀 수 있을 것이라는 생각이 들어서 landMin을 구한 다음에 모든 곳에서 뺐습니다. 여기서부터 문제의 풀이가 시작이 되었습니다. 결국에 제일 적게 드는 시간을.. 2021. 9. 1.
백준 10845번 C++ https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 아마 다들 이 이전에 올렸던 스택 문제를 푸셨으면 C++로는 쉽게 풀었을 것같습니다. 동일하게 queue 헤더 파일을 사용할 수 있는지를 묻는 문제였습니다. 따로 활용할 필요는 없었고 그대로 문자열을 받아 동일하게 수행하면 됩니다. #include #include #include #include using namespace std; int main(int argc, const ch.. 2021. 8. 29.
백준 10828번 C++ https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 이번 문제는 c++로 풀면 간단하게 stack을 활용할 수 있다면 쉽게 풀 수 있는 문제입니다. 문제를 풀면서 큰 어려움은 없었습니다. 다들 쉽게 풀 수 있을 것이라고 생각합니다. #include #include #include #include using namespace std; int main(int argc, const char* argv[]) { int n;//명령 수 s.. 2021. 8. 19.