본문 바로가기

전체 글94

[테스트케이스 추가] 백준 1654번: 랜선 자르기 python, 파이썬 1. 문제 https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 2. 풀이 binary search 3. 구현 import sys # sys.stdin = open('input.txt') k,n = map(int, sys.stdin.readline().split()) lis=[] while k: k-=1 lis.append(int(sys.stdin.readline())) le = 1 ri = max(lis) while le 2021. 7. 20.
백준 11052: 카드구매하기 python, 파이썬 1. 문제 https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 2. 풀이 중요한것은 가장 비싸게 만드는 것이므로 매번 카드를 뽑을 때마다 지금까지 나왔던 모든 카드들 중에서 (자기자신 포함) 가장 비쌌던 카드를 고른다. 3. 구현 import sys # sys.stdin=open('input.txt') N=int(sys.stdin.readline()) tmp=sys.stdin.readline().split(' ') lis = [0]*(N+5) for id.. 2021. 7. 19.
[테스트케이스 추가] 백준 16434번: 드래곤 앤 던전 시간초과 해결 python, 파이썬 1. 문제 https://www.acmicpc.net/problem/16434 16434번: 드래곤 앤 던전 첫 번째 줄에 방의 개수 N (1 ≤ N ≤ 123,456) 과 용사의 초기 공격력 HATK (1 ≤ HATK ≤ 1,000,000) 가 주어집니다. i+1번째 줄엔 i번째 방의 정보를 나타내는 세개의 정수 ti, ai, hi (ti ∈ {1, 2}, 1 www.acmicpc.net 2. 풀이 binary search + 간단한 simulation 이 문제 풀면서 시간초과가 계속 났는데, 용이랑 싸우는 부분에서 직접 구현하면(아래 주석된 부분) 시간 초과가 난다. 수학적으로 해석해서 적어야 한다. 또 play 함수로 만들어서 return 하게 구현했는데 이 부분도 시간초과에 영향을 줬는 지는 조금.. 2021. 7. 19.
[테스트케이스 추가] 백준 2343: 기타 레슨 python, 파이썬 1. 문제 https://www.acmicpc.net/problem/2343 2343번: 기타 레슨 강토는 자신의 기타 레슨 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 레슨이 들어가는데, 블루레이를 녹화할 때, 레슨의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경 www.acmicpc.net 2. 풀이 binary search 3. 구현 import sys import math # sys.stdin = open('input.txt') n,m = map(int, sys.stdin.readline().split()) tmp = sys.stdin.readline().split() lis=[] for item in tmp: lis.append(int(item)) # lis = sorted.. 2021. 7. 19.
[테스트케이스 추가] 백준 11055번: 가장 큰 증가 부분 수열 python, 파이썬 1. 문제 https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net 2. 풀이 LIS 전체 i와 j를 다 비교한다. 3. 구현 import sys # sys.stdin=open('input.txt') N = int(sys.stdin.readline()) lis = sys.stdin.readline().split() tmp=[] for item in lis: tmp.append(int(item)).. 2021. 7. 19.
[테스트케이스 추가] 백준 11051 번: 이항계수 2 python, 파이썬 1. 문제 https://www.acmicpc.net/problem/11051 11051번: 이항 계수 2 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 2. 풀이 nCk = n-1Ck-1+n-1Ck 성질을 이용해 구하면 된다. 3. 구현 import sys # sys.stdin = open('input.txt') N,K = map(int, sys.stdin.readline().split()) mod = 10**4+7 mm = [[0 for _ in range(N+2)] for __ in range(N+2)] for i in range(N+1): mm[i][0]=1 for i in range(1, N+1):.. 2021. 7. 19.
백준 11057번: 오르막수 python, 파이썬 1. 문제 https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net 2. 풀이 계단수 랑 굉장히 비슷한 문제인데 이번에는 증가하는 방향밖에 없으므로 9만 처리하면 된다. 가장 마지막에 9가 나온 경우 이 이 후로는 9만 나오기 때문에 한 가지 경우밖에 없다. 또 나머지 숫자는 자기 이상의 숫자이기만 하면 되므로 j와 k로 이후에 나올 수 전체를 탐색해줘야한다. 3. 구현 import sys # sys.stdin=ope.. 2021. 7. 19.
[테스트케이스 추가] 백준 10844 번: 쉬운 계산 수 python, 파이썬 1. 문제 https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 2. 풀이 마지막 숫자가 무엇인지에 대한 정보도 필요해서 차원을 하나 늘려 기록해야한다. 마지막 숫자가 0이면 1로 증가시키는 방법밖에 없고 마지막 숫자가 9이면 8로 줄이는 방법 밖에 없다. 3. 구현 import sys # sys.stdin=open('input.txt') from collections import deque mod = 10**9 N=int(sys.stdin.readline()) mm=[[0]*10 for _ in range(N+2)] mm[1]=[0,1,1,1,1,1,1,1,1,.. 2021. 7. 19.
[Webpack Error] Cannot find module 'webpack-cli/bin/config-yargs' webpack/cli, webpack, webpack-dev-server 버전이 맞지 않아서 생기는 에러 해결: package.json의 script를 다음과 같이 바꾸고 실행한다. "start": "webpack server", 2021. 7. 18.
[Python Error] ValueError: invalid literal for int() with base 10: ' ' string을 int로 바꿀 때 난 에러, int로 바꾸려는 대상을 print해서 확인해보고 어떤 형태인 지 확인한다. string이라면 split()을 한 후 int로 지정하면 해결된다. 예 에러코드 map(int, sys.stdin.readline()) 수정코드 map(int, sys.stdin.readline().split()) 2021. 7. 18.
[Node Error] (node:9540) ExperimentalWarning: The ESM module loader is experimental. ESM(ECMAScript) 모듈을 사용하기 위한 문법이 제대로 작성되어있지 않을 때 나는 에러. 확인해볼 것 1. package.json의 가장 바깥쪽 module.exports={} 안에 "type": "module" 있는 지 확인. 2. 전체 npm 을 module화 하지 않는다면 .js 파일 확장자가 .mjs인지 확인 (js 파일 하나만 모듈화) 3. import export 구문이 잘 되어있는 지 확인. 예를 들면 import { add } from '../src/component/functions.js'; 이렇게 써야하는데 import { add } from '../src/component/functions'; 이렇게 불러오는 모듈의 확장자가 없거나 import add from '../src/.. 2021. 7. 18.
[테스트케이스 추가] 백준 1699 시간초과 해결 python 1. 문제 https://www.acmicpc.net/problem/1699 1699번: 제곱수의 합 어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다 www.acmicpc.net 2. 풀이 동전2랑 유사한 문제. 제곱의 수들을 미리 만들어 놓는 게 좋고, 시간복잡도 때문에 min 비교를 i 마다 해야 시간초과를 피할 수 있다. 3. 구현 import sys import math #sys.stdin=open('input.txt') N=int(sys.stdin.readline()) mm=[math.inf]*int(N+2) #최.. 2021. 7. 16.
반응형