본문 바로가기

백준 알고리즘

(7)
[백준 알고리즘] 9095번 1,2,3 더하기 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다. 3 4 7 10 출력 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. 7 44 274 풀이 이 문제는 1부터 입력한 n값까지 1, 2, 3만을 사용하여 구하는 입력한 n값을 구하는 방법의 개수를 구해야 한다. 처음 문제를 보고 ..
[백준 알고리즘] 1932번 정수 삼각형 문제 위 그림은 크기가 5인 정수 삼각형의 한 모습이다. 맨 위층 7부터 시작해서 아래에 있는 수 중 하나를 선택하여 아래층으로 내려올 때, 이제까지 선택된 수의 합이 최대가 되는 경로를 구하는 프로그램을 작성하라. 아래층에 있는 수는 현재 층에서 선택된 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다. 삼각형의 크기는 1 이상 500 이하이다. 삼각형을 이루고 있는 각 수는 모두 정수이며, 범위는 0 이상 9999 이하이다. 입력 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 출력 첫째 줄에 합이 최대가 되는 경로에 있는 수의 합을 출력한다. 30 ..
[백준 알고리즘] 3052번 Python 나머지 해당 글은 Python으로 백준 알고리즘 3052번 문제를 풀고 성공한 코드이다. 이 문제에서 Python을 이용하여 문제를 풀 경우 set이라는 집합 함수를 사용하여 len으로 list의 길이를 구하여 성공하였다. (https://www.acmicpc.net/problem/3052) remainder = [] # 42로 나눗값을 리스트 형식으로 하여 저장 for i in range(10) : # 10개를 입력 받아 진행함 num = int(input()) remainder.append(num % 42) # 42로 나눗값을 append를 사용하여 리스트에 추가함 remainder = set(remainder) # 교집합으로 같은 것끼리 묶음 print(len(remainder)) # 교집합으로 묶은 것을..
[백준 알고리즘] 1110번 Python 더하기 사이클 해당 글은 백준 알고리즘의 1110번문제를 Python으로 풀어본 코드이다. (https://www.acmicpc.net/problem/1110) # 이 문제는 연산의 나머지와 나눗셈을 이용한 문제이다. num = int(input()) chk = num new_sum = 0 sum_num = 0 # 26 일 경우 2+6을 더한 값 cnt = 0 while True: sum_num = num//10 + num%10 # 10의 자리와 1일 자리를 구분하여 덧셈 하는 수식 new_sum = (num%10)*10 + sum_num%10 # sum_num에서 연산해서 나온값의 1의 자리와 덧셈을 하는 수식 cnt += 1 num = new_sum if new_sum == chk: break print(cnt)
[백준 알고리즘] 2557번 C언어 Hello World 해당 글은 C언어로 백준 알고리즘(https://www.acmicpc.net/)의 2557번 문제를 풀어보고 성공한 코드이다. https://www.acmicpc.net/problem/2557 2557번: Hello World Hello World!를 출력하시오. www.acmicpc.net 문제 Hello World!를 출력하시오. 입력 없음 출력 Hello World!를 출력하시오. #include int main(){ printf("Hello World!\n"); return 0; }
[백준 알고리즘] 1001번 C언어 A-B 해당 글은 C언어로 백준 알고리즘(https://www.acmicpc.net/)의 1001번 문제를 풀어보고 성공한 코드이다. https://www.acmicpc.net/problem/1001 1001번: A-B 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A-B를 출력한다. #include int main(){ int A; int B; scanf("%d%d",&A,&B); printf("%d",A-B); }
[백준 알고리즘] 1000번 C언어 A+B 요즘들어 방학을 기회 삼아 배워온 언어로 하루에 2-3문제씩 알고리즘을 풀어보기 위해 백준알고리즘에 올라온 단계별로 차근 차근 풀어보고 있다. 해당 글은 C언어로 백준 알고리즘(https://www.acmicpc.net/)의 1000번 문제를 풀어보고 성공한 코드이다. https://www.acmicpc.net/problem/1000 1000번: A+B 문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A+B를 출력한다. 예제 입력 1 복사 1 2 예제 출력 1 복사 3 힌트 여기를 누르면 1000번 예제 소스를 볼 수 있습니다.... www.acmicpc.net 문제 두 정수 A와 B를 입..