- Total
목록오뚝이 개발자 (209)
꿈꾸는리버리
문제: https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 풀이방법: 1) 체스판 8*8 크기로 자르기 지민이는 8×8 크기의 체스판으로 잘라낸 후에 몇 개의 정사각형을 다시 칠해야겠다고 생각했다. -> 8*8 크기의 체스판을 잘라서 바꿔야 하는 칸만 바꿈 2) 화이트로 판이 시작했을 때, 블랙으로 판이 시작했을 때 나눠서 바꿔야 하는 칸의 수 세기 블랙으로 판이 시작됐다고 하자. 그렇다면 i와 j를 더한 값이 짝수인 경우에 B, 홀수인 경..
브루트 포스( Brute force) : 조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호를 해독하는 방법. : 영어로 brute는 "짐승 같은, 난폭한"이라는 뜻이고, brute-force는 "난폭한 힘, 폭력"이라는 뜻이다. 오래 걸리는 데다 자원이 엄청나게 들어서 얼핏 보면 무식하다고 생각할 수도 있겠지만, 항상 정확도 100%를 보장한다는 점에서 암호 해독법 중 가장 확실하고 무서운 방법이다. 문제: https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B..
브루트 포스( Brute force) : 조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호를 해독하는 방법. : 영어로 brute는 "짐승 같은, 난폭한"이라는 뜻이고, brute-force는 "난폭한 힘, 폭력"이라는 뜻이다. 오래 걸리는 데다 자원이 엄청나게 들어서 얼핏 보면 무식하다고 생각할 수도 있겠지만, 항상 정확도 100%를 보장한다는 점에서 암호 해독법 중 가장 확실하고 무서운 방법이다. 문제: https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 ..
브루트 포스( Brute force) : 조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호를 해독하는 방법. : 영어로 brute는 "짐승 같은, 난폭한"이라는 뜻이고, brute-force는 "난폭한 힘, 폭력"이라는 뜻이다. 오래 걸리는 데다 자원이 엄청나게 들어서 얼핏 보면 무식하다고 생각할 수도 있겠지만, 항상 정확도 100%를 보장한다는 점에서 암호 해독법 중 가장 확실하고 무서운 방법이다. 문제: https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(..
재귀 : 원래의 자리로 되돌아가거나 되돌아옴 다시 자신의 함수를 호출하는 것을 재귀 함수라고 생각하면 쉽다. 재귀 함수를 작성할 때 중요한 것이 2가지가 있다. 1. base case를 만들 것 2. 스택이 줄어들어야 할 것 문제: https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 풀이방법: https://www.mathsisfun.com/games/towerofhanoi.html Play Tower of Hanoi www.maths..
재귀 : 원래의 자리로 되돌아가거나 되돌아옴 다시 자신의 함수를 호출하는 것을 재귀 함수라고 생각하면 쉽다. 재귀 함수를 작성할 때 중요한 것이 2가지가 있다. 1. base case를 만들 것 2. 스택이 줄어들어야 할 것 문제: https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 풀이방법: key point : 한칸 한칸이 " "일지, "*"일지 판별해내야 한다! 우선 N = 3일 때 부터 생각해보자. 빈 칸은 (1,..
재귀 : 원래의 자리로 되돌아가거나 되돌아옴 다시 자신의 함수를 호출하는 것을 재귀 함수라고 생각하면 쉽다. 재귀 함수를 작성할 때 중요한 것이 2가지가 있다. 1. base case를 만들 것 2. 스택이 줄어들어야 할 것 문제: https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 풀이방법: int fibo(int n){ if( n == 0){ return 0; }else if (n == 1){ return..
재귀 : 원래의 자리로 되돌아가거나 되돌아옴 다시 자신의 함수를 호출하는 것을 재귀 함수라고 생각하면 쉽다. 재귀 함수를 작성할 때 중요한 것이 2가지가 있다. 1. base case를 만들 것 2. 스택이 줄어들어야 할 것 문제: https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 풀이방법: "재귀" : 원래의 자리로 되돌아가거나 되돌아옴 다시 자신의 함수를 호출하는 것을 재귀 함수라고 생각하면 쉽다. 재귀 함수를 작성할 때 중요한 것이 2가지가 있다. int factorial(int n){ if(n < 1){ return 1; }else{ retu..