코뚫하 :: 2021 동계 모각코 7회차 결과

문다연·2021년 1월 25일
0
post-thumbnail

21.01.25. (월) 20시 ~ 23시

문다연
결과
7단계인 문자열까지 완료로 해결, 12단계 정렬, 17단계 스택, 18단계 큐와 덱 해결

문혜림
『결과』

  • K번째 약수 알고리즘 해결
  • K번째 수 알고리즘 해결
  • K번째 큰 수 알고리즘 해결(△)
K번째 약수
n, k = map(int, input().split())
cnt = 0

for i in range(1, n+1):
    if n % i == 0:
        cnt += 1
    if cnt == k:
        print(i)
        break
else: # for-else문
    print(-1)

# K번째 수
T = int(input())
for t in range(T):
    n, s, e, k = map(int, input().split())
    a = list(map(int, input().split()))

    a = a[s-1:e]  # s번째 ~ e번째
    a.sort()  # 오름차순 정렬
    print('#', t+1, a[k-1])
    # print("#%d %d" % (t+1, a[k-1]))

박형기
1. 1인 플레이 기준 주사위에 따른 모든 점수판 표시를 완성했다.
2. 주사위 굴리는 횟수제한을 설정하였으며, 점수판에서 점수를 고를경우 초기화 되도록 하였다.

점수 획득시 저장해둔 주사위들도 모두 초기화 해주었다.

윗 점수판에서 63점 이상을 획득할경우 보너스 점수를 획득할수 있도록 만들었다.

수정해야 할점 ->
버튼들의 기능은 서로서로 비슷한대에도 각각 만들어주다보니 코드길이가 너무 길어졌다.
다음에 비슷한 버튼들끼리 배열로 묶어서 한 반복문안에서 해결할수 있도록 만들것이다.

유정균
백준 1463 1로만들기 (다이나믹 프로그래밍)

이문제는 내가 처음으로 접해본 다이나믹프로그래밍문제이다 정말 처음에는 많은생각을했다 하지만 알고리즘을 공부한후에는 여러번의 시도끝에 풀수있었다

다이나믹프로그래밍이란 내가 이미 계산한값을가지고 다음값들을 계산하는것이다
예를들어 피보나치수열등이 대표적이다

우선 내가 원하는 숫자를 입력받아 계산횟수를 알아보려면 원하는숫자까지오는 배열을 만들어야한다 배열을 만들면 1부터 n 까지int형 배열이 존재할것이다
또 1은 계산을할필요가없기때문에 0 이다 2index의 값부터 구해주면된다
어떤방식으로 구해주냐면 일단 목표인덱스의 바로전 인덱스의 배열값에 1을더해준다
그러면 1을 더한 계산이된다 하지만 이는 최적의 계산횟수가아니다
그러면 10000을 입력한다면 계산횟수는 9999이다 그러므로 나누기 2 3 연산도추가한다
만약 인덱스가 2로 나누어진다면 2로나누어진인덱스 배열값에 1을더해준다 또한 3도해준다
그런데 2로 나누고 3으로나눌때 원래 저장했던값이 더 최소일수있으므로 최소값함수를
구현해서 더 작은값을 구해서 저장해주면 된다

문다연 https://github.com/dayo2n/2021-winterMGC/projects/1#card-53504908
문혜림 https://github.com/moo-nerim/20_Winter-Mogakco/blob/main/Lecture_06
박형기 https://blog.naver.com/qkrgudrl0324/222219897503
유정균 https://blog.naver.com/kyun1229/222219899412

profile
ios-moon.tistory.com 이전했어요 🚛

0개의 댓글