본문 바로가기

언어/Python

(16)
[파이썬] 백준 1330번: 두 수 비교하기 www.acmicpc.net/problem/9498 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.acmicpc.net 조건문을 사용하는 문제이다.
[파이썬] 백준 10951번: A+B - 4 www.acmicpc.net/problem/10951 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 입력이 안들어온다면 빠져 나오면 된다. Try - Except 구문을 사용해 보았다. 코드는 아래와 같다.
[파이썬] 백준 2884번: 알람 시계 www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 시간을 계산하는 문제이다. 1. 분에 45를 빼주고 만약 0보다 작다면 60을 더해주고 시에 1시간을 빼주면 된다. 코드는 아래와 같다.
[파이썬] 백준 1330번: 두 수 비교하기 www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net 정말 간단한 문제이다. 코드는 아래와 같다.
[파이썬] 백준 10799번: 쇠막대기 www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 문제에 대한 알고리즘은 아래와 같다. 1. '('이 들어온다면 list1에 넣어준 뒤 상태값을 1로 바꿔준다. 2. ')'이 들어왔을 때의 상태 값에 따라 다르게 처리해 준다. 2-1. 상태값이 1일 경우, list1에서 pop을 수행하고 list2에 list1의 크기를 저장해준다. 그리고 상태값을 0으로 바꾼다. 2-2. 상태값이 0일 경우, list1에서 pop을 수행하고 list2에 1을 추가해 준다. 3. 입력받은..
[파이썬] 백준 12789번: 도키도키 간식드리미 www.acmicpc.net/problem/12789 12789번: 도키도키 간식드리미 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두 www.acmicpc.net 문제를 보고 난 후의 알고리즘을 생각해 보았다. 입력 값을 넣기 위한 Dequeue(q)와 임시 저장소인 List(q2), 그리고 정답 확인을 위한 list(ans)를 생성해 주었다. 1. q2에 원소가 있고 마지막 값이 순서에 맞다면 ans에 저장후 다음 단계 실행 2. q에서 popleft해준 값을 q2에 붙여줌(q가 비워지기 전까지) 3. 순서가 넘어가거나 q2의 마지막 원소 값이 순서와 다르다면 탈출 ..
[파이썬] 백준 1120번: 문자열 이 문제를 보았을 때, 다른 좋은 방법이 있을까? 라는 생각이 먼저 들었다. 왜냐하면 본인이 생각한 방법으로는 간단히 아니 단순히 생각해 X와 Y를 무식하게 비교하는 방식밖에 떠오르지 않았기 때문이다. 생각한 순서는 다음과 같았다. * 기본적으로 생각해 볼 수 있는 조건은 X에 아무 알파벳이나 추가할 수 있지만 하지 않겠다.(차이를 최소로 해야하기 때문에 Y와 같은 알파벳을 추가할 것임으로) 1. X에 문자가 들어오지 않는다면 0을 출력 2. X가 Y에 포함된 문자열이라면 0을 출력 3. 1, 2번 둘다 아니라면 두 문자열을 비교한다. 3-1) 문자열의 길이가 같은 경우, 인덱스를 처음부터 끝까지 비교하며 차이만큼의 결과를 출력한다. 3-2) 문자열 길이가 다른 경우, X 문자열의 길이만큼 앞에서부터 비..
[파이썬] 백준 11659번: 구간 합 구하기 4 처음 이 문제를 보았을 때 나름대로 생각해본 것은 다음과 같다. 1. N개의 수를 받으면 되니까 list를 생성해서 숫자들을 차곡 차곡 쌓아 보자! 2. M번 만큼 더해주면 되는 거니까 M번 만큼 반복시키자 3. 구간 i, j를 start와 end로 나누어주고 다시 한번 반복을 시켜 i부터 j까지 다 더해주면 되겠다! 라고 생각을 하고 코드를 구현하였을 때, 결과는 "시간 초과"였다. 다시 한 번 생각을 해 보았을 때 어떻게 하면 시간을 줄일 수 있을까? 오류 가능성 1. 수의 개수(N)가 100,000일때 1~100,000를 더하기 위해서는 100,000번의 연산이 되어야 하고 합을 구해야 하는 횟수(M)이 어쩌면 100,000번일 수도 있으니 엄청난 양의 연산을 해야한다. 다른 오류 가능성을 생각해 ..