일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Algospot
- C
- 생활코딩
- 따배씨
- 인프런
- greedy
- Algorithm
- web
- 정수론
- 백준
- graph
- Cleancode
- sorting
- server
- BOJ
- 따라하며 배우는 C언어
- C언어
- BASIC
- php
- Math
- 따라하면서 배우는 C언어
- dfs
- Python
- 종만북
- JavaScript
- String
- programmers
- DP
- BFS
- udemy
- Today
- Total
목록Algorithm PS (127)
몽상실현개발주의
[BOJ] 10844 / 쉬운 단계 수 / Python www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 풀이 처음 시도는 경우의 수가 정해져 있다고 생각하여, N 으로 구하는 점화식을 세우려고 하였다. 하지만 매우 복잡한 점화식이 세워졌고, 그 답은 보기 좋게 오답이 나왔다. 문제를 풀기 위한 생각의 방향은, 숫자의 자리수가 늘어날때 조건이 있고, 그 조건으로 인해 경우가 좁혀져 패턴이 발생한다는 것이다. N = 1 -> 1 2 3 4 5 6 7 8 9 N = 2 -> 10 12 21 23 32 34 43 45 54 56 65 67 76 78 87 89 98 N = 3 -..
[BOJ] 9095 / 1, 2, 3 더하기 / Python www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 풀이 제한된 조건으로 경우의 수를 구하는 문제이다. 경우의 수를 발생 시키는 일정한 규칙을 찾고 규칙에서 점화식을 찾아 해결 하였다. N = 1 -> 1 N = 2 -> 2 N = 3 -> 4 N = 4 -> 7 N = 5 -> 13 위의 규칙으로 구한 점화식은 dp(N) = dp(N-1) + dp(N-2) + dp(N-3) 점화식을 이용하여 Tabluation 으로 문제를 해결 하였다. T = int(input()) for _ in range(T)..
[BOJ] 11727 / 2×n 타일링2 / Python https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net 풀이 11726 / 2 X n 타일링 문제에 조건이 추가되었다. N = 1 -> 1 N = 2 -> 3 N = 3 -> 5 N = 4 -> 11 N = 5 -> 21 추가된 조건의 경우의 수는 위와 같았다. 점화식: dp(N) = dp(N-1) + 2*dp(N-2) Tabluation 을 이용한 풀이는 다음과 같다. N = int(input()) dp = [0, 1, 3..
[BOJ] 11726 / 2×n 타일링 / Python https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 풀이 점화식을 사용하는 dp 문제 였다. N = 1 -> 1 N = 2 -> 2 N = 3 -> 3 N = 4 -> 5 N = 5 -> 8 N = 6 -> 13 경우의 수를 구해보니 점화식이 피보나치 수열과 같다는 것을 알 수 있었다. dp(N) = dp(N-1) + dp(N-2) 그래서 처음에는 재귀함수를 이용하여 시도 하였다. N = int(input()) d..
[BOJ] 1463 / 1로 만들기 / Python www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 풀이 처음 시도는 while 문을 이용한 조건으로 작성 하였다. X = int(input()) cnt = 0 while (1): if X == 1: break if X % 3 == 0: X //= 3 cnt += 1 elif X % 2 == 0: X //= 2 cnt += 1 else: X -= 1 print(cnt) 하지만, 반례인 10 에서 조건에 부합하지 않는 다는것을 생각하였다. 10 -> 9 -> 3 -> 1 이 아닌 10 -> 5 -> 4 -> 2 -> 1 이 나..
알고리즘 문제풀이 (PS) 시작하기 의 포스트를 보고 BOJ 로 알고리즘 공부를 다시 시작하고자 한다. 그 첫번째 시작인 입출력 기본 문제 set 을 풀어 보았다. 알고리즘 문제 풀이의 기본인 입출력을 다루는 문제들이기 때문에, 풀이는 작성하지 않고 문제 목록만 기록 하였다. www.acmicpc.net/problem/문제번호 2557 1000 2558 10950 10951 10952 10953 11021 11022 11718 11719 11720 11721 2741 2742 2739 1924 8393 10818 2438 2439 2440 2441 2442 2445 2522 2446 10991 10992 알고리즘 공부 순서 추천 출처 plzrun.tistory.com/entry/%EC%95%8C%EA%B..
문제 주소 https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr 문제 설명 더보기 후보키 프렌즈대학교 컴퓨터공학과 조교인 제이지는 네오 학과장님의 지시로, 학생들의 인적사항을 정리하는 업무를 담당하게 되었다. 그의 학부 시절 프로그래밍 경험을 되살려, 모든 인적사항을 데이터베이스에 넣기로 하였..