cpp(297)
-
[백준 BOJ] 1547번 공 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/1547 1547번: 공 첫째 줄에 컵의 위치를 바꾼 횟수 M이 주어지며, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 컵의 위치를 바꾼 방법 X와 Y가 주어지며, X번 컵과 Y번 컵의 위치를 서로 바꾸는 것 www.acmicpc.net 접근 방법 - 수학적 사고력이 필요한 문제 백준의 1547번 문제는 수학적 사고력을 이용하여 해결해야 하는 문제이다. 해당 문제는, 컵을 교체하는 게임을 한 뒤 최종적으로 공이 위치한 컵의 숫자를 출력해야 하는 문제이다. 필자는 배열을 선언한 뒤 배열값을 교체하면서 해당 문제를 간단하게 해결하였다. 자세한 설명은 아래의 코드와 함께 추가적으로 하고자 한다. 필자는 아래의 순서대로 코..
2022.03.14 -
[백준 BOJ] 2743번 단어 길이 재기 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/2743 2743번: 단어 길이 재기 알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. www.acmicpc.net 접근 방법 - 문자열 함수를 이용한 기본 연산 백준의 2743번 문제는 string 헤더의 함수를 이용해 간단하게 해결할 수 있는 문제이다. 해당 문제는, 입력받은 문자열의 길이를 출력해야 하는 문제이다. 여기에서 필자가 사용한 함수는 length() 함수인데, 이는 즉 특정 문자열의 크기 및 길이를 반환하는 함수이다. (여기서, 필자는 C++로 코딩을 진행하였음을 알린다.) 필자는 이 함수를 이용해 아주 간단하게 문제를 해결하였다. 많이 사용되는 함수이니 몰랐다면 꼭 참고하길 바란다. 필자..
2022.03.06 -
[백준 BOJ] 1018번 체스판 다시 칠하기 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 접근 방법 - 브루트포스 알고리즘을 이용한 연산 문제 백준의 1018번 문제는 브루트포스 알고리즘을 이용하여 해결해야 하는 문제이다. 해당 문제는, 입력받은 보드를 잘라 체스판으로 만들 때 다시 칠해야하는 칸의 최소 개수를 구해야하는 문제이다. 브루트포스 알고리즘에 관한 다른 문제에 관해 이전에 필자가 작성한 글이 있다. 이 알고리즘에 대해 아직 어색하다면 아래의 링크 글을 한번..
2022.03.05 -
[백준 BOJ] 5597번 과제 안 내신 분..? (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/5597 5597번: 과제 안 내신 분..? X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, www.acmicpc.net 접근 방법 - 배열을 이용한 간단한 연산 백준의 5597번 문제는 배열을 이용한 간단한 연산 문제이다. 해당 문제는, 28명의 제출자 출석 번호를 입력받으며 제출하지 않은 2명의 출석 번호를 출력해야 하는 문제이다. 필자는 앞에서도 작성하였다시피, 배열을 이용하여 이 문제를 해결하였다. 받는 입력값에 대응하는 배열값에 1을 더하면서 입력을 전부 받은 뒤, 최종적으로 배열값이..
2022.02.27 -
[백준 BOJ] 2164번 카드2 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 접근 방법 - 큐를 이용한 간단한 연산 백준의 2164번 문제는 큐를 이용하여 간단하게 해결할 수 있는 문제이다. 해당 문제는, 일정 규칙에 따라 카드를 옮기고 버리면서 가장 마지막에 남는 카드를 구해야 하는 문제이다. 여기서 규칙은 간단하게, 제일 위에 있는 첫 번째 카드는 버리고 두 번째 카드는 맨 아래로 다시 넣는 행위의 반복이다. 필자는 큐를 선언하여 해당 문제를 해결하였다. 어..
2022.02.27 -
[백준 BOJ] 12789번 도키도키 간식드리미 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/12789 12789번: 도키도키 간식드리미 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두 www.acmicpc.net 접근 방법 - 스택을 이용한 연산 문제 백준의 12789번 문제는 스택을 이용하여 해결해야 하는 문제이다. 해당 문제는, 입력되는 값에 대하여, 1번부터 시작하여 순서대로 n번까지 배부할 수 있는지의 여부를 묻고 있는 문제이다. 필자는 num이라는 변수를 따로 선언하여 입력을 받는 대로 스택에 push해야 하는지 바로 배부되는지에 대한 여부를 정하게끔 하였다. 그리고 최종적으로, 스택..
2022.02.20