현지
Home
  • 전체
    • CT
      • SWEA
      • 백준
      • 프로그래머스
    • CS
      • 알고리즘
      • 자료구조
      • Python
      • JAVA
      • SQL
      • 웹개발
    • 실습
      • 프로젝트
      • Brity RPA
      • Outsystems
    • 일상
Home
  • 전체
    • CT
      • SWEA
      • 백준
      • 프로그래머스
    • CS
      • 알고리즘
      • 자료구조
      • Python
      • JAVA
      • SQL
      • 웹개발
    • 실습
      • 프로젝트
      • Brity RPA
      • Outsystems
    • 일상
블로그 내 검색
GITHUB

현지

현지의 개발일지

  • CT/SWEA

    [SWEA][D3][Python] 16800. 구구단 걷기

    2023. 7. 1.

    by. hyunji1109

    https://swexpertacademy.com/main/solvingProblem/solvingProblem.do

     

    SW Expert Academy

    SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

    swexpertacademy.com

     


     

    1. n을 i로 나누었을 때 나머지가 0이 되는 값을 차례로 구한뒤 i값과 몫을 arr배열에 저장한다.
    2. (1,1)에서 시작하기 때문에 2를 빼주고 두 값을 더한다.
    3. 더한 값중 가장 작은 값을 출력한다.

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    import math
     
    T = int(input())
    for test_case in range(1, T + 1):
        n = int(input())
        arr = []
        arr2 = []
     
        for i in range(1, int(math.sqrt(n)) + 1):
            if n % i == 0:
                arr.append(i)
                arr.append(n // i)
     
        j = 0
        while len(arr)>j:
            a = arr[j] + arr[j + 1]-2
            arr2.append(a)
            j+=2
     
        print("#{} {}".format(test_case, min(arr2)))
    cs

     


     

    📌 n이 주어졌을 때 어떤 두 수를 곱해야 n이 나오는 지 그 과정을 풀어내기 힘들었다.

    for i in range(1, n):
            if n % i == 0:
                arr.append(i)
                arr.append(n // i)

     시간 초과가 발생하였다.

     

    ▪ 루트를 사용한다. n이 주어졌을 때 두 수의 가장 큰 수는 루트n * 루트n이기 때문이다.

    for i in range(1, int(math.sqrt(n)) + 1):
            if n % i == 0:
                arr.append(i)
                arr.append(n // i)

    시간 초과가 발생하지 않고 해결할 수 있었다.

    'CT > SWEA' 카테고리의 다른 글

    [SWEA][D3][Python] 14361. 숫자가 같은 배수  (1) 2023.07.01
    [SWEA][D3][Python] 14555. 공과 잡초  (0) 2023.07.01
    [SWEA][D3][Python] 17319. 문자열문자열  (0) 2023.06.30
    [SWEA][D2][Python] 2005. 파스칼의 삼각형  (0) 2023.06.14
    [SWEA][D2][Python] 2007. 패턴 마디의 길이  (0) 2023.06.14

    댓글

    관련글

    • [SWEA][D3][Python] 14361. 숫자가 같은 배수 2023.07.01
    • [SWEA][D3][Python] 14555. 공과 잡초 2023.07.01
    • [SWEA][D3][Python] 17319. 문자열문자열 2023.06.30
    • [SWEA][D2][Python] 2005. 파스칼의 삼각형 2023.06.14
    맨 위로
전체 글 보기
  • GITHUB
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

Today

Total

Designed by Nana
블로그 이미지
hyunji1109

티스토리툴바