알고리즘 풀이 3

[JAVA]백준 1010번: 다리 놓기

https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 문제만 이해하면 해결방법은 단순한 조합문제로 아주 쉬운 문제이다. 조합의 식을 nCr 이라고 할 때, 강 동쪽을 n 강 서쪽을 r로 생각하면 된다. 동쪽에서 r개의 사이트를 고르는 경우의 수(순서가 없고 중복도 없다.) r개의 조합을 고르면, 서쪽 사이트와 순서대로 선을 그으면 되기 때문에 겹칠 일이 없다. 따라서, 우리는 0< N, M

알고리즘 풀이 2021.09.09

[JAVA]프로그래머스_N으로 표현 (level 3)

[JAVA]프로그래머스_N으로 표현 (level 3) https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr 문제 설명 아래와 같이 5와 사칙연산만으로 12를 표현할 수 있다. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5를 사용한 횟수는 각각 6,5,4 이다. 그리고 이중 가장 작은 경우는 4이다. 이처럼 숫자 N과 number가 주어질 때, N과 사칙연산만 사용해서 표현 할 수 있는 방법 중 N 사용횟수의 최솟값을 return 하도록 solution 함수를 작성하는 문제이다. 제한사항 N은 1 이상 9 이하 nu..

알고리즘 풀이 2021.09.09

[JAVA]백준 5904번: Moo 게임

[JAVA] 백준 5904번: Moo 게임 백준 5904번 https://www.acmicpc.net/problem/5904 문제 문제는 이해하기 쉽다. moo 들의 조합으로 이루어진 문자열의 규칙을 찾아서, 입력되는 N번째의 문자가 어떤 문자('m' 또는 'o')인지 출력하면 된다. 보면 규칙적으로 m은 단어의 첫 번째에서만 나온다. 규칙 찾고, 첫 번째 단어인지 체크 → 맞으면 'm', 아니면 'o'를 출력하면 끝 이제 규칙을 찾아보자 규칙 문자열이 길어지는 규칙을 보면 S[k] = S[k-1] + moo+o(k) + S[k-1]* 이다. 즉, 가운데를 기준으로 앞, 뒤에 이전 값이 붙는다. 이를 토대로 입력된 숫자(N)가 10 정도 된다고 가정했을 경우, 수많은 moo 들을 크게 왼쪽 moo(Lef..

알고리즘 풀이 2021.08.30