브론즈 5

모각코 1회차 - 준비운동

모각코 첫번째 회의 후 PART1. 튼튼한 기본기를 풀며 준비운동을 했습니다! 쉬운 문제를 풀며 자신감도 올리고 기본적인 문법을 복기하기 좋았습니다. ㅎㅎ ✏️ 준비운동 PART1. 튼튼한 기본기 약수 구하기 (🥉 브론즈 3티어) 이진수 (🥉 브론즈 3티어) 최소, 최대 (🥉 브론즈 3티어) 지능형 기차 2 (🥉 브론즈 3티어) 피보나치 수 5 (🥉 브론즈 2티어) 일곱 난쟁이 (🥉 브론즈 2티어) 최대공약수와 최소공배수 (🥈실버 5티어) N번째 큰 수 (🥈실버 5티어) 소수 찾기 (🥈실버 4티어) 쉽게 푸는 문제 (🥈실버 4티어) 소수 (🥈실버 4티어) 1. 약수 구하기 import sys input = sys.stdin.readline N, K = map(int,input().split()) answ..

[백준/알고리즘/python/java] 2309번 - 일곱 난쟁이

단순한 그리디 문제였다. 맨 처음에는 그리디가 아니라 dp문제인가 싶었다. 이전에도 풀었던 기록이 있어서 단순한 그리디로도 풀릴 듯해서 바로 푼 문제였다. 코드는 아래와 같다. import sys input = sys.stdin.readline height = [] for _ in range(9): height.append(int(input())) diff = sum(height)-100 # 9명의 난쟁이 키의 합과 100의 차이를 구한다 find_two_false = False # find_two_false라는 초기변수를 False로 설정한다. for i in height: for j in height[1:]: if i + j == diff: # height를 돌면서 두 난쟁이의 합이 diff와 같으면..

[백준/알고리즘/python/java] 16428번 - A/B - 3

이미지를 누르면 문제링크를 보실 수 있습니다. 굉장히 단순한 문제인데, 정답률이 그에 비해선 막 높진 않아서 풀어본 문제다. 처음엔 나 역시 틀렸다. 다시한번, 써가면서 풀어봤는데, 특징이 있었다. A가 나누어지는 수이고 B가 나누는 수라고 할 때, 1) 단순히 A, B둘다 양수라고 생각하면, 몫은 A//B 가 되고, 나머지는 A%B 가 될 것이다. 2) A가 음수이고 B가 양수라면, 역시 몫은 A//B 가 되고, 나머지는 A%B 가 될 것이다. 3) A가 0이면, B가 뭐든간에, 몫과 나머지는 둘 다 0 이 나올것이다. 여기까진 그냥 우리가 생각하는 수학이다. 4) A가 음수이고 B가 음수라면, 5) A가 양수이고 B가 음수라면, 즉, 나누는 수 B가 음수라면, 값이 달라졌다. 나머지는 양수여야 하는데..

[백준/알고리즘/python/java] 13698번 - Hawk eyes

기말고사가 끝나고 다시 백준문제를 풀어봤다. 이 문제의 로직은 간단했다. 그냥 사용자에게 섞는 순서를 가리키는 알파벳을 입력받고, 해당 알파벳마다 섞는 방법이 다르기 때문에 방법에 따라 그냥 위치만 바꿔주면 됐다. 흔히들 swap할 때는, temp라는 변수를 정해서 원소를 뒤바꾸는데, 파이썬이어서 좋은 점은 temp라는 변수를 따로 안 정하고, 그냥 배열 원소를 서로 바꿀 수 있다는 점이었다. 처음엔, 틀렸었다. 맨 처음 틀린 코드는 아래와 같다. import sys input = sys.stdin.readline order_list = input() ball_position = [1, 0, 0, 1] for alpha in order_list: if(alpha == 'A'): ball_position[..

[백준/알고리즘/python/java] 2839번 - 설탕 배달

어떤 수가 주어질 때, 그 수가 5로 나누어 떨어지는 수 라면 5로 하나씩 빼고 3으로 나누어 떨어지는 수라면 3을 하나씩 빼면 될 것 같았다. 약간 그리디 알고리즘처럼 말이다. 하지만, 예외가 있었다. (처음 풀었던 python 코드) n = int(input()) cnt = 0 while(n != 0): if(n % 5 == 0): n -= 5 cnt += 1 elif(n % 3 == 0): n -= 3 cnt += 1 else: cnt = -1 break print(cnt) 하지만, 위 코드처럼 풀면, 8이라는 수는 2가 나와야 정상인데, -1을 출력하고 만다. 다시 고민해봤다. (두번 째로 고친 python 코드) n = int(input()) cnt = 0 while(n != 0): if(n %..

반응형