본문 바로가기

전체 글133

[백준 10828] 스택, C++ https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다. www.acmicpc.net 본 문제는 입력된 string 값을 stack이 정상 동작하도록 하는 문제다. stack을 사용하는 것은 C++은 STL가 있기 때문에 어럽지 않다. 그러나 이 문제에서 중요한 것은 문자열을 입력받는 것에 있다. cin과 getline에 대한 차이점 때문인데 TC를 위해 cin >> t를 하고 while문에서 getline을 했을 경우 개행 문.. 2020. 1. 8.
[백준] 7569 - 토마토, C++ https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, 1 ≤ H ≤ 100 이다. 둘째 줄부터는 가장 밑의 상자부터 가장 위의 상자까지에 저장된 토마토들의 정보가 주어진다. 즉, 둘째 줄부터 N개의 줄에는 하나의 상자에 담긴 토마토의 정보가 주어진다. 각 줄에는 상자 가로줄에 들어있는 토마 www.acmicpc.net 본 문제는 2013 한국정보올림피아드 지역본선 초등부 3번 문제다. 입력이 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, 1 ≤ H ≤ 1.. 2020. 1. 8.
[백준 2468] 안전 영역, C++ 본 문제는 '2010 한국정보올림피아드 초등부 2번' 문제다. 장마철에 물에 잠지기 않는 안전 구역의 최대 개수를 구하는 문제다. 기준값 0 ~ 배열의 최댓값까지 반복 기준값보다 높은 지역 개수 구하기 제일 큰 안전 구역의 개수 구하기 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 52 53 54 55 56 57 58 59 #include #include #include using namespace std; int d[101][101]; int dx[] = {1, -1, 0, 0}; int dy[.. 2020. 1. 7.
[백준 6603] 로또, C++ https://www.acmicpc.net/problem/6603 6603번: 로또 문제 독일 로또는 {1, 2, ..., 49}에서 수 6개를 고른다. 로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 것이다. 예를 들어, k=8, S={1,2,3,5,8,13,21,34}인 경우 이 집합 S에서 수를 고를 수 있는 경우의 수는 총 28가지이다. ([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2 www.acmicpc.net 본 문제는 University of Ulm Local Contest 1996 F번 문제다. 모든 경우의 수를 출력해야 하고, 오름차순으로 정.. 2020. 1. 7.
[백준] 2583 - 영역 구하기, C++ https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오른쪽 위 꼭짓점의 x, y좌표값이 빈칸을 사이에 두고 차례로 주어진다. 모눈종이의 왼쪽 아래 꼭짓점의 좌표는 (0,0)이고, 오른쪽 위 꼭짓점의 좌표는(N,M)이다. 입력되는 K개의 직사각형들이 모눈종이 전체를 채우는 경우는 없다. www.acmicpc.net 본 문제는 2006 한국정보올림피아드 지역 본선 고등부 2번 문제다. 빈 공간을 찾고 빈 공간의 개수를 구하는 BFS문제다. 그러나 입력되는 데이터가.. 2020. 1. 7.
[백준] 11403 - 경로 찾기, C++ https://www.acmicpc.net/problem/11403 11403번: 경로 찾기 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 (i, j)에 대해서, i에서 j로 가는 경로가 있는지 없는지 구하는 프로그램을 작성하시오. www.acmicpc.net 본 문제는 배열을 인접행렬로 바꿔서 풀어야 하는 문제다. 그래프에서 배열로 경로탐색을 하는것 보다 인접행렬로 탐색을 하는것이 빠르다. 입력된 배열을 인접행렬로 변경 간선 방문 여부 확인하며 탐색 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 .. 2020. 1. 7.
[백준] 1697 - 숨바꼭질, C++ https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 www.acmicpc.net 본 문제는 USACO US Open 2007 Contest Silver 2번 문제다. 대부분 이런 문제들은 거리를 계산하는 배열과 방문을 .. 2020. 1. 6.
[백준] 1012 - 유기농 배추, C++ https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. ( www.acmicpc.net 본 문제는 bfs와 dfs로 풀 수 있다. 비슷한 문제가 참 많다. 그래서 문제를 많이 풀어본 사람들은 쉽게 풀 수 있다. 그러나 난.. 2020. 1. 6.
[백준] 2667 - 단지번호붙이기, C++ https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수 www.acmicpc.net 본 문제는 KOI 1996 한국정보올림피아드 초등부 1번 문제다. 입력받은 배열에서 단지를 구분하고 단지 내 집의 수를 오름차순으로 출력하는 문제다. BFS를 이용.. 2020. 1. 6.