Koder / 박성훈
article thumbnail
백준 BOJ 1926 - 그림
알고리즘/백준 BOJ 2020. 10. 26. 22:56

지난번에 풀었던 단지번호매기기? 문제랑 비슷해서 건드렸는데 의외로 고민했으나 고민한 이유가 매우 의미읎는것이었다. ​ 재귀함수짜는데 fill함수 앞에 return을 붙여놔서 방향이 여러갈래로 나뉠때 탐색을 제대로 못했기 때문이었다 ㅠ return만 떼니 AC. https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 항상 프로그래밍을 하면서 하는 생각 중의 하나인데, 프로그래밍을 할때 보수적으로 문제해결하는게 아무래도 굉장히 안 좋은 행위라고 나는 생각한다...

article thumbnail
백준 BOJ 10798 - 세로읽기
알고리즘/백준 BOJ 2020. 10. 26. 22:55

배열 사용하는법에 관한 문제다. 그리 어렵지는 않아서 그냥 호다닥 풀었다. https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net #include char arr[5][21] = {0}; int main(){ for(int i=0; i

article thumbnail
백준 BOJ 11050 - 이항 계수 1
알고리즘/백준 BOJ 2020. 10. 26. 22:53

이항계수가 뭔지 몰라서 푸는데 좀 걸렸다... 괄호안에 숫자 두개 적어놓고 계산하라는데 어떻게하라는지 알아야 풀든말든 하지 ㅠㅠ ​ 솔직히 백준같은 알고리즘은 수학선행안하는 사람을 너무 차별한다 ㅠ 지금부터라도 선행해야하나.. https://www.acmicpc.net/problem/11050 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 한번 검색해보고 이항 계수 가 nCr과 같다는걸 안 이후로는 무난하게 풀었다. #include int f(int a){ if(a == 0 || a == 1) return 1; return f(a-1) * a; } int main(){ int n,k;..

article thumbnail
백준 BOJ 1932 - 정수 삼각형
알고리즘/백준 BOJ 2020. 10. 26. 22:40

https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 딱 보고 떠오른 방법은 위에서 내려가는 방법이겠지만 그러면 너무 시간이 오래 걸릴것 같아서 반대로 아래에서부터 올라오는 방식으로 짜보았다. 인접한 두가지를 비교해서 둘중 더 큰 숫자를 윗줄의 숫자에 더해주는걸 반복하면, 가장 큰 숫자가 제일 윗줄에 올라올것이고, 그 가장 윗줄만 출력해주면 된다. #include int arr[1001][1001] = {0}; int main(){ int n; scanf("%d", &n); for(int i=0; i

article thumbnail
백준 BOJ 2293 - 동전 1
알고리즘/백준 BOJ 2020. 10. 26. 22:31

​https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀어보았다. dp용 배열 arr은 걍 널찍널찍하게 잡았고, arr[i]는 i원을 만들 수 있는 경우의 수이다. #include int n,input[101],k; int arr[100001] = {0}; int main(){ scanf("%d %d", &n, &k); for(int i=0; i

article thumbnail
백준 BOJ 10866 - 덱
알고리즘/백준 BOJ 2020. 10. 26. 22:26

https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 바로앞에 풀었던 큐랑 큰 차이는 없다 그냥 보기좋게 구현해봄 ​ #include #include #include std::deque d; int main(){ int n,t; char s[20]; scanf("%d", &n); for(int i=0; i

반응형