전체 글 26

백준 9012 괄호 파이썬 풀이

https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 접근법 열린괄호(+1), 닫힌괄호(-1)의 개수를 세서 결과적으로 0으로 끝나면 YES아니면 NO로 출력되게 하면 될거라 생각하였다. 코드 n = int(input()) for _ in range(n) : answer = 0 temp = input() for i in temp : if i == "(" : answer += 1 elif i == ")" : if answ..

알고리즘 2024.01.15

백준 25206 너의 평점은 파이썬 풀이

https://www.acmicpc.net/problem/25206 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 접근법 코드 방법을 두가지로 생각했었다. 1. 리스트 안에 리스트로 값을 입력 받아서([[과목명, 학점, 등급]]) p/ f면 제외. 2. 과목명은 쓸데없으니 제외하고 학점, 등급 리스트를 각각 만들어서 반복문으로 입력값을 받으면서 학점은 학점리스트, 등급은 등급리스트에 넣어주고 각 인덱스별로 등급과 학점을 뽑아서 p/ f면 제외해서 전공평점 계산. 이 문제를 풀거나 풀고 있는 사람이라면 내 접근법을 ..

알고리즘 2024.01.14

백준 2839 설탕 배달 파이썬 풀이

https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 문제를 처음 봤을 때, n값을 입력받아 5kg가방으로 최대한 채우고 나머지를 3kg 가방으로 채우고 만약 설탕이 남거나 부족하면 -1, 아니면 가방의 개수를 출력하면 될것이라 생각했다. 풀고 나서 에러가 나서 방법을 바꿨다. 코드를 지워버려서 왜 틀렸는지 확인 기억이 나질 않는게 아쉽다... 다음엔 틀린 코드도 따로 보관해놔야겠다. 코드 1 def multiples_of_3(n) : if n % 3 == 0..

알고리즘 2024.01.12

백준 2556번 별 찍기 - 14 파이썬 풀이

import time n = int(input()) for i in range(n) : print("*") time.sleep(5) https://www.acmicpc.net/problem/2556 2556번: 별 찍기 - 14 지금까지 안 나온 별 찍기가 뭐가 있는지 생각해본 후, 별을 적절히 찍으세요. www.acmicpc.net 내 생에 첫 난이도 알 수 없음 문제. 풀이를 찾기보다 무슨 문제인지 싶었을거 같다. 미리 말하자면 이 문제는 별을 정사각형 모양으로 찍어내라는 뜻이다. 즉 N이 3으로 들어오면 3 * 3 정사각형, 10이 들어오면 10 * 10. 내 웃긴 풀이를 훑어보자. 코드 1 import time n = int(input()) for i in range(n) : print("*") ..

알고리즘 2024.01.12

백준 2440번 별 찍기 - 3 파이썬 풀이

https://www.acmicpc.net/problem/2440 2440번: 별 찍기 - 3 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 www.acmicpc.net 코드 풀이1 n = int(input()) for i in range(n) : # 입력받은 수 만큼 아래로 내려갈 반복문 for j in range(n - i) : # 문제에 맞게 별을 가로방향으로 찍을 반복문 print("*", end="") print() 코드 풀이2 n = int(input()) for i in range(n) : print("*" * (n - i)) 풀고 나서 짧게도 만들 수 있구나.. 다시 생각했고 심지어 처음 짰을 때는 이중 반복문을 쓴 것에 반해 반복문을 한번만..

알고리즘 2024.01.12

백준 4673번 셀프 넘버 파이썬 풀이

BOJ 4673문제 def d(n) : # d(n)함수 sum = n while n != 0 : sum += n % 10 n //= 10 return sum def findSelfNumber(num) : # 생성자 유무 확인 array = [] for i in range(1, num) : array.append(d(i)) for i in array : if num == i : return 1 return 0 for i in range(1, 10001) : if findSelfNumber(i) == 0 : print(i) 내가 작성한 파이썬 코드이다. 정답은 잘 출력되는데 시간초과가 나서 잘못된 방법으로하고 있다는걸 알게되었고 반복문 안에서 반복문을 호출하는 함수를 사용하게 되면서 그런걸로 예상되었다. 반..

알고리즘 2024.01.12