일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Rest
- Python
- nvmrc
- Spread
- yarn-berry
- leetcode977
- youtube iframe
- 파이썬
- 자바스크립트
- react-native
- 타입스크립트
- css
- leetcode189
- 리액트
- firebaseui
- 커스텀알락
- 구조분해할당
- mac
- 파이어베이스로그인
- iP
- React
- 커스텀알림
- react-firebaseui
- JS
- Next.js
- nvm
- 다리놓기
- 프로토타입
- 기초
- 백준
- Today
- Total
목록백준 (9)
JadeCode
https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net python의 dictionary를 사용하여 있고 없음을 판단하면 쉽게 풀 수 있는 문제이다. import sys input = sys.stdin.readline n = int(input()) arr = list(map(int, input().split())) dic = {i: 0 for i in arr} # 둘째줄에 입력받은 숫자들을 dictionary의 key값으..

https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 분할 정복 재귀 분할정복이란 간단히 말해서 큰것에서 작은것을 탐색하고 최소단위에 도달하면 순차적으로 모든 값을 리턴하는 것이다. 이 색종이 문제는 분할 정복의 기본이라 할 수 있다. 입력받은 n을 2로 계속 나누어 네 개의 부분으로 나눌 수 있다. 그 n을 2로 나눈 것을 4번 재귀호출 하고 반복문을 돌려 나눠진 범위 내의 숫자가 모두 같다면 judge = True로 다..
https://www.acmicpc.net/problem/1059 1059번: 좋은 구간 [9, 10], [9, 11], [9, 12], [10, 11], [10, 12] www.acmicpc.net 정수 집합 S가 주어졌을때, 다음 조건을 만족하는 구간 [A, B]를 좋은 구간이라고 한다. 일단 입력받은 집합 S를 정렬한다. 반복문을 돌려 좋은 구간을 찾는다. # 중요한 점 S[0]보다 n이 작을 수 있다는 점을 간과해서는 안된다. #20220124 #좋은 구간 import sys input = sys.stdin.readline #집합 S의 크기 t = int(input()) #집합 S S = list(map(int, input().split(' '))) n = int(input()) #정렬 S.sor..
https://www.acmicpc.net/problem/8958 8958번: OX퀴즈 "OOXXOXXOOO"와 같은 OX퀴즈의 결과가 있다. O는 문제를 맞은 것이고, X는 문제를 틀린 것이다. 문제를 맞은 경우 그 문제의 점수는 그 문제까지 연속된 O의 개수가 된다. 예를 들어, 10번 문제의 점수 www.acmicpc.net O가 연속으로 있으면 그 문제 점수는 연속된 O개수이다. import sys input = sys.stdin.readline t = int(input()) #테스트케이스 개수만큼 반복 for _ in range(t): arr = list(input().rstrip()) result = 0 total = 0 for i in range(0, len(arr)): if(arr[i]==..
https://www.acmicpc.net/problem/2739 2739번: 구구단 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. www.acmicpc.net n을 입력받은 뒤, 출력 형태에 맞추어 출력하기 import sys input = sys.stdin.readline t = int(input()) for i in range(1, 10): print(f'{t} * {i} = {t*i}') f-string 문자열 포매팅 방법 연습
https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 문제풀이 1. 브루트포스 개념알기 2. 알고리즘 생각 3. 코드 작성하기 1. 브루트포스 조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호를 해독하는 방법. https://namu.wiki/w/%EB%B8%8C%EB%A3%A8%ED%8A%B8%20%ED%8F%AC%EC%8A%A4 2. 알고리즘 생각 일단 체스판은 8*8 고정된 크기이다. M*N크기의 보드를 8*8 크기로 자를 수..

https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 풀이법 다이나믹 프로그래밍 1. 30 * 30 배열을 만든다 2. 아래의 그림과 같이 생각한다. 코드 import sys input = sys.stdin.readline t = int(input()) dp = [[0 for _ in range(30)]for _ in range(30)] for i in range(1, 30): for j in range(1, 30): if i == 1: dp[i][..
//20210114 //다리놓기 //mCn const input = require("fs") .readFileSync("/dev/stdin") .toString() .trim() .split("\n"); // const input = `3 // 2 2 // 1 5 // 13 29 // `.split("\n"); const t = input[0].split(" ").map(Number); const dp = Array.from({ length: 30 }, () => Array.from({ length: 30 }, () => 0) ); for (let i = 1; i < 30; i++) { for (let j = 1; j < 30; j++) { if (i === 1) { dp[i][j] = j; } else..