본문 바로가기

C++63

1018번: 체스판 다시 칠하기 - 관련 사이트: https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 하나씩 모두 비교하여 가장 최솟값을 구하였다. 1) (0, 0) 위치부터 시작 지점을 정하고 8 x 8 씩 잘라서 비교 (예: 8 x 10인 경우, 시작 지점은 각각 (0, 0), (0, 1), (0, 2)가 된다.) 2) 시작 지점이 'B' 인 경우와 'W' 인 경우 각각 계산 3) 좌표 x, y가 짝수/홀수인지 확인하여 1)과 2) 에 대해 교체 필요한 개수 카운팅 4.. 2023. 6. 14.
15964번: 이상한 기호 - 관련 사이트: https://www.acmicpc.net/problem/15964 15964번: 이상한 기호 부산일과학고등학교의 효진이는 수학의 귀재이다. 어떤 문제라도 보면 1분 내에 풀어버린다는 학교의 전설이 내려올 정도였는데, 이런 킹ㅡ갓 효진에게도 고민이 생겼다. 대부분의 문제에서 반 www.acmicpc.net 단순 연산 문제이다. 결과값이 int 보다 클 수 있으므로 타입은 long long int 로 선언해주었다. (int 형을 사용할 경우, 30점 점수가 나온다.) #include using namespace std; int main() { long long int A, B; cin >> A >> B; cout 2023. 6. 14.
표준 템플릿 라이브러리 (STL) 표준 템플릿 라이브러리(STL, Standard Template Library)는 C++을 위한 라이브러리로서 C++ 표준 라이브러리의 많은 부분에 영향을 끼쳤다. 이것은 알고리즘, 컨테이너, 함수자 그리고 반복자라고 불리는 네 가지의 구성 요소를 제공한다. STL은 컨테이너와 연관 배열 같은 C++을 위한 일반 클래스들의 미리 만들어진 집합을 제공하는데, 이것들은 어떤 빌트인 타입과도 그리고 어떤 사용자 정의 타입과도 같이 사용될 수 있다. STL 알고리즘들은 컨테이너들에 독립적인데, 이것은 라이브러리의 복잡성을 눈에 띄게 줄여주었다. STL은 결과를 템플릿의 사용을 통해 달성한다. 이 접근법은 전통적인 런타임 다형성에 비해 훨씬 효과적인 컴파일 타임 다형성을 제공한다. 현대의 C++ 컴파일러들은 ST.. 2023. 6. 13.
10814번: 나이순 정렬 - 관련 사이트: https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 첫번째 나이 값을 기준으로 비교 함수를 정의하였다. 단, 첫번째 값이 같을 경우 순서가 변경되지 않아야 하므로 일반적인 sort 함수가 아닌, stable_sort 함수를 사용하였다. #include #include #include using namespace std; bool compare(pair prev, pair next) { return prev.first < next.fir.. 2023. 6. 13.
N개의 최소공배수 - 관련 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr N개의 수가 주어졌을 때, 최소공배수를 구하는 문제이다. "1934번: 최소공배수" 문제에서 확장된 문제로 볼 수 있다. 두 숫자의 최소공배수를 구하고 구해진 최소공배수와 다음 수의 최소공배수 값을 구하는 방식으로 풀었다. 1) A 와 B 중 작은 수 확인 2) 작은 수부터 2까지 두 수로 모두 나누어지는 가장 큰 값 확인 = 최대공약수 3) (A * B) / 최대공약수 = 최소.. 2023. 6. 12.