BOJ(343)
-
[백준 BOJ] 11718번 그대로 출력하기 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/11718 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시 www.acmicpc.net 접근 방법 - 무한 반복문의 심화 문제 백준의 11718번 문제는 무한 반복문에 있어 다소 심화된 문제이다. 해당 문제는, 문자열이 하나씩 입력될 때마다 그대로 출력해야 하는 문제이다. 이 문제와 유사한 문제에 대하여 필자가 이전에 작성한 글이 있다. 아래의 링크를 참고해보길 바란다. https://smary-it.tistory.com/84 [백준 BOJ] 10951번..
2022.03.14 -
[백준 BOJ] 23881번 알고리즘 수업 - 선택 정렬 1 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/23881 23881번: 알고리즘 수업 - 선택 정렬 1 첫째 줄에 배열 A의 크기 N(5 ≤ N ≤ 10,000), 교환 횟수 K(1 ≤ K ≤ N)가 주어진다. 다음 줄에 서로 다른 배열 A의 원소 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 109) www.acmicpc.net 접근 방법 - 선택 정렬 알고리즘 기본 문제 백준의 23881번 문제는 선택 정렬 알고리즘을 이용하여 해결해야 하는 문제이다. 해당 문제는, 선택 정렬을 진행하면서, 입력받은 교환 횟수에서 교환되는 두 숫자를 출력해야 하는 문제이다. 문제에 제시된 선택 정렬은, 맨 끝에서부터 큰 숫자를 차례로 선택하고 배치하며 정렬을 수행하는 알고리즘이다. 자..
2022.03.14 -
[백준 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