본문 바로가기
728x90

백준19

[백준] 8892. 팰린드롬 <C++> www.acmicpc.net/problem/8892 8892번: 팰린드롬 팰린드롬은 어느 방향으로 읽어도 항상 같은 방법으로 읽을 수 있는 단어이다. 예를 들어, civic, radar, rotor, madam은 팰린드롬이다. 상근이는 단어 k개 적혀있는 공책을 발견했다. 공책의 단어는 ICPC www.acmicpc.net 방법1) 브루트포스 방법을 이용해 하나하나 골라보고, 이렇게 고른 두 문자열을 합쳤을 때 큐 스택을 이용해 회문인지 판단해주었다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51.. 2020. 11. 9.
[백준] 19941. 햄버거 분배 (2020 정올 중등 1번) <C++> www.acmicpc.net/problem/19941 19941번: 햄버거 분배 기다린 벤치 모양의 식탁에 사람들과 햄버거가 아래와 같이 단위 간격으로 놓여 있다. 사람들은 자신의 위치에서 거리가 $K$ 이하인 햄버거를 먹을 수 있다. 햄버거 사람 햄버거 사람 햄버거 사�� www.acmicpc.net 나의 풀이 0 ~ N-1 까지 가면서 사람이 나온다면 사람을 기준으로 k번만큼 왼쪽 ~ k번만큼 오른쪽까지 보면서 햄버거가 있다면 먹는다. 12345678910111213141516171819202122232425#include #include using namespace std; int main() { string arr; int n, k, cnt=0, sw; cin >> n >> k; cin >> ar.. 2020. 9. 23.
[백준] 19939. 박 터뜨리기 (2020 정올 초등부 1번) <C++> www.acmicpc.net/problem/19939 19939번: 박 터뜨리기 $N$개의 공을 $K$개의 바구니에 문제의 규칙을 만족하면서 나눠 담을 수 있다면, 가장 많이 담긴 바구니와 가장 적게 담긴 바구니의 공의 개수 차이를 출력한다. 나눠 담을 수 없는 경우에는 -1을 � www.acmicpc.net 규칙을 찾는 문제였다. 규칙만 찾는다면 구현은 금방 하는 문제이지만 규칙 찾기가 쉽지 않았다. 우선 공을 가장 적게 분배해준다. 1) k = 3이라면 1 2 3 > n >> k; for (i = 1; i 2020. 9. 22.
[백준] 2577. 숫자의 개수 <C++> www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. www.acmicpc.net 자릿수를 자르는 기본적인 알고리즘과, 배열 인덱스를 이용한 개수 세는 방법을 안다면 간단히 풀 수 있는 문제입니다. 자릿수를 자르는 기본적인 알고리즘부터 봅시다. 9876이라는 숫자가 있다면 9876 % 10 = 6 9876 / 10 = 987 987 % 10 = 7 987 / 10 = 98 98 % 10 = 8 98 / 10 = 9 9 % 10 = 9 9 / 10 = 0 0은 더 이상 연산할 수 없으므로 끝 > 자릿수 자르기 코드 while(n) { n%10; n.. 2020. 9. 7.
[백준] 1676. 팩토리얼 0의 개수 <C++> www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 다 곱해보면 long long으로도 표현할 수 없기 때문에 0의 개수를 알 수 있을만한 규칙이 필요하다. 우선 뒷자리에 0이 언제 나오는지 알 필요가 있다. 5! = 120 5 = 5 * 1 -> 5가 하나 (+1) 0이 1개 10! = 3,628,800 10 = 5 * 2 -> 5가 하나 (+1) 0이 2개 15! = 1,307,674,368,000 15 = 5 * 3 -> 5가 하나 (+1) 0이 3개 20! = 2,432,902,008,176,640,000 20 = 5 * 4 -> 5가 하나.. 2020. 9. 5.
[백준] 10814. 나이순 정렬 <C++> https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 � www.acmicpc.net pair와 정렬의 연습 문제이다. > pair 사용법 #include #include #include using namespace std; bool comp(pair a, pair b){ return a.first > n; for(int i=0; i> old >>.. 2020. 9. 4.
[백준] 11650. 좌표 정렬하기(1, 2) <C++> www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 간단한 정렬 문제이다. pair를 사용한 정렬 연습에 적절한 문제! - pair의 간단한 사용 방법 [C++] pair Pair 란? - 두 객체를 하나로 묶어주는 클래스이다. (좌표 등을 표현하기에 적절하다.) - 헤더에 존재한다. Pair의 기본 사용 방법 선언 pair p; - 묶어줄 두 값의 데이터 타.. korean-otter.tistory.com .. 2020. 9. 4.
[백준] 16180. New House <C++> https://www.acmicpc.net/problem/16180 16180번: New House Johan wants to build a new house and he wants his house as large as it can. Given an N x N grid land, find the largest square size that fit in the free area. www.acmicpc.net ICPC > Regionals > Asia Pacific > Indonesia > Indonesia National Contest > INC 2009 F번 적당한 난이도의 문제였던 것 같다. 영어라 그런지 푼 사람이 적었다. 여러가지 놓친 부분들이 많아서 3번이나 틀렸다. 앞으로는 문제에서 놓친 부분.. 2020. 8. 11.
2511 백준 (카드놀이) <C++> acmicpc.net/problem/2511 2511번: 카드놀이 첫 번째 줄에는 게임이 끝난 후, A와 B가 받은 총 승점을 순서대로 빈칸을 사이에 두고 출력한다. 두 번째 줄에는 이긴 사람이 A인지 B인지 결정해서, 이긴 사람을 문자 A 또는 B로 출력한다. 만약 � www.acmicpc.net Olympiad > 한국정보올림피아드 > KOI 2012 > 초등부 1번 배열 하나와 변수 하나만 이용해서 풀어보았다. 배열 0~9번 방에는 각 라운드의 점수를 담고, 10번 방에는 각 라운드의 승점의 누적합을 담았다. 그리고 무승부일 경우를 위해 0번 방부터 누적합을 구하며 가장 뒷부분의 라운드 결과를 sw변수에 담아주었다. //입력 부분 for (int i = 0; i > ar.. 2020. 7. 30.
728x90