이 영역을 누르면 첫 페이지로 이동
쿄코코 블로그의 첫 페이지로 이동

쿄코코

페이지 맨 위로 올라가기

쿄코코

얼레벌레 생활🤯

99클럽 코테 스터디 17일차 TIL - 그리디 (백준31926 - 밤양갱)

  • 2024.11.13 21:56
  • Python/😈 99클럽 코테 스터디 4기 TIL
    반응형

    https://www.acmicpc.net/problem/2847

    • 오늘의 학습 키워드 : 그리디
    • 문제 설명
    N=2 8번 : d, a, l, d, i, dal, g, o
    9번 : d, a, l, d, i, dal, g, o, daldidalgo
    10번 : d, a, l, d, i, dal, g, o, daldidalgo, daldida
    11번 : d, a, l, d, i, dal, g, o, daldidalgo, daldida, n
    N=3 8번 : d, a, l, d, i, dal, g, o
    9번 : d, a, l, d, i, dal, g, o, daldidalgo
    10번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldida
    11번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldida,n
    N=4 8번 : d, a, l, d, i, dal, g, o
    9번 : d, a, l, d, i, dal, g, o, daldidalgo
    10번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo,
    11번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo, daldida
    12번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo, daldida,n
    N=5 8번 : d, a, l, d, i, dal, g, o
    9번 : d, a, l, d, i, dal, g, o, daldidalgo
    10번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo
    11번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo, daldidalgodaldida
    12번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo, daldidalgodaldida, n
    N= 6 8번 : d, a, l, d, i, dal, g, o
    9번 : d, a, l, d, i, dal, g, o, daldidalgo
    10번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo,
    11번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo, daldidalgodaldidalgodaldida
    12번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo, daldidalgodaldidalgodaldida, n
    N= 7 8번 : d, a, l, d, i, dal, g, o
    9번 : d, a, l, d, i, dal, g, o, daldidalgo
    10번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo,
    11번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo, daldidalgodaldidalgodaldidalgodaldida
    12번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo, daldidalgodaldidalgodaldidalgodaldida, n
    N=8 8번 : d, a, l, d, i, dal, g, o
    9번 : d, a, l, d, i, dal, g, o, daldidalgo
    10번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo,
    11번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo, daldidalgodaldidalgodaldidalgodaldidalgo
    12번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo, daldidalgodaldidalgodaldidalgodaldidalgo, daldida
    13번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgodaldidalgo, daldidalgodaldidalgodaldidalgodaldidalgo, daldida,n
    결론 : N이 2의 거듭제곱일 때마다 시간(또는 횟수)이 1씩 더해집니다
    왜냐하면, N =7 -> 마지막에 daldidalgodaldidalgodaldidalgodaldida 와 같이 4개의 반복이 완료되며 더 이상 길게 늘릴 수 없기 때문
    따라서 
    N=8부터는 daldida가 따로 추가
    • 공부한 내용 
      import sys
      import math
      
      N = int(sys.stdin.readline().strip())
      
      # N이 몇 번의 복사 및 붙여넣기 작업이 필요한지를 계산하기 위해 log2(N)을 사용
      # math.log2(N)은 N이 2의 거듭제곱일 때, 필요한 최소 복사 횟수를 구하는 데 유용
      # 여기에 'daldidalgo'의 첫 문자열 길이 10을 더하여 총 작업 시간을 계산
      print(int(math.log2(N))+10)
    • 오늘의 회고
      • 항상 느끼지만 알고리즘 문제를 풀 때마다 초등학교 때의 올림피아드 문제처럼 창의적이고 규칙을 찾아야 하는 느낌이랄까?
        그래서 좀만 더 쓰다보면 먼가 규칙이 나오는것 같다.
      • 물론 규칙을 찾을 때 잘 찾아야한다는거..? 실수하면 안된다는거?
      • 첨에는 3일 때, 
        8번 : d, a, l, d, i, dal, g, o
        9번 : d, a, l, d, i, dal, g, o, daldidalgo
        10번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgo,
        11번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgo, daldida,
        12번 : d, a, l, d, i, dal, g, o, daldidalgo, daldidalgo, daldida,n
        이렇게 생각해서 12번이라고 생각하는 실수를 해서 math.log2(N)에 올림을 적용해서 틀렸다. 이런 실수가 없게 정확하게 찾는게 중요하다 ?

     

    반응형

    'Python > 😈 99클럽 코테 스터디 4기 TIL' 카테고리의 다른 글

    99클럽 코테 스터디 20일차 TIL - 완점탐색 (프로그래머스- 모의고사)  (1) 2024.11.16
    99클럽 코테 스터디 19일차 TIL - 그리디 (백준1374 - 강의실)  (1) 2024.11.15
    99클럽 코테 스터디 16일차 TIL - 그리디 (백준2847 - 게임을 만든 동준이)  (2) 2024.11.12
    99클럽 코테 스터디 15일차 TIL - 그리디 (백준13417 - 카드 문자열)  (2) 2024.11.11
    99클럽 코테 스터디 14일차 TIL - 그리디 (백준14916 - 거스름돈)  (1) 2024.11.10

    댓글

    이 글 공유하기

    • 구독하기

      구독하기

    • 카카오톡

      카카오톡

    • 라인

      라인

    • 트위터

      트위터

    • Facebook

      Facebook

    • 카카오스토리

      카카오스토리

    • 밴드

      밴드

    • 네이버 블로그

      네이버 블로그

    • Pocket

      Pocket

    • Evernote

      Evernote

    다른 글

    • 99클럽 코테 스터디 20일차 TIL - 완점탐색 (프로그래머스- 모의고사)

      99클럽 코테 스터디 20일차 TIL - 완점탐색 (프로그래머스- 모의고사)

      2024.11.16
    • 99클럽 코테 스터디 19일차 TIL - 그리디 (백준1374 - 강의실)

      99클럽 코테 스터디 19일차 TIL - 그리디 (백준1374 - 강의실)

      2024.11.15
    • 99클럽 코테 스터디 16일차 TIL - 그리디 (백준2847 - 게임을 만든 동준이)

      99클럽 코테 스터디 16일차 TIL - 그리디 (백준2847 - 게임을 만든 동준이)

      2024.11.12
    • 99클럽 코테 스터디 15일차 TIL - 그리디 (백준13417 - 카드 문자열)

      99클럽 코테 스터디 15일차 TIL - 그리디 (백준13417 - 카드 문자열)

      2024.11.11
    다른 글 더 둘러보기

    정보

    쿄코코 블로그의 첫 페이지로 이동

    쿄코코

    • 쿄코코의 첫 페이지로 이동

    검색

    메뉴

    • 홈

    카테고리

    • 분류 전체보기 (172)
      • Python (24)
        • 😈 99클럽 코테 스터디 4기 TIL (23)
        • 궁금한거 정리 (1)
      • SQL (16)
        • HackerRank (15)
      • [백준] Python,Java로 풀기📖 (71)
        • 정렬(Sorting) (6)
        • 그리디 (5)
        • 문자열 (7)
        • 수학 (3)
        • DFS&BFS (10)
        • 구현 (4)
        • 다이나믹 (17)
        • 이분탐색 (1)
        • 자료구조 (10)
        • 최단거리 (5)
        • 인덱스트리 (0)
      • [프로그래머스]Python,Java로 풀기 (6)
        • Level 1 (4)
        • Level 2 (2)
      • Study Platform📚 (28)
        • 김영한👨🏻‍🏫의 스프링 부트와 JPA 실무 완전 .. (5)
        • (알고리즘)- [이코테] 이것이 코딩테스트다 정리 (10)
        • 그림으로 배우는 Http&Network Basic (10)
        • AWS SAA C03공부하기 (3)
      • 까먹을까봐 적는 것들 (5)
      • 테스트 보고 난 후..🤔 (0)
      • kt 에이블스쿨 (18)

    최근 글

    인기 글

    댓글

    공지사항

    아카이브

    태그

    • 백준
    • 티스토리챌린지
    • 99클럽
    • 항해99
    • TiL
    • 오블완
    • 코딩테스트준비
    • 프로그래머스

    나의 외부 링크

    정보

    쿄코코의 쿄코코

    쿄코코

    쿄코코

    블로그 구독하기

    • 구독하기
    • RSS 피드

    방문자

    • 전체 방문자
    • 오늘
    • 어제

    티스토리

    • 티스토리 홈
    • 이 블로그 관리하기
    • 글쓰기
    Powered by Tistory / Kakao. © 쿄코코. Designed by Fraccino.

    티스토리툴바