[TIL] 2021.08.23 - 2021.08.29

todo

What I learned

  • p/q == 0 이면, q는 p의 약수 (2501)
  • 소인수분해란 1보다 큰 자연수를 소인수들만의 곱으로 나타내는 것 (위키백관, 11653)

    N = int(input())
    num = 2
    while N != 1:
        if N % num == 0:
            print(num)
            N //= num
        else:
            num += 1
    
  • 파이썬에서 문자 reverse: S[::-1]
  • (x * (i+1)).toLong()x.toLong() * (i+1).toLong() 는 다르다. int 곱셈의 결과는 int 로 나오기 때문에 long으로 바꿔준 수 곱해준다.(12954)
    • fun solution(x: Int, n: Int): LongArray = LongArray(n) { x.toLong() * (it + 1) }
  • 3009
  • 소수점 두번째 자리 까지 출력: print("{:.2f}".format(result)) (5355)

  • 9506

      # arr = [1,2,3]
      # 6 = 1 + 2 + 3
      print(N, " = ", " + ".join(str(i) for i in arr), sep="")
    
  • String 반으로 split 21955

    half = int(len(S)/2)
    print(S[:half], S[half:])
    
  • 대각선 위치한 사이 -> 세로 차이 == 가로 차이 9663

  • print(f"{arr.pop()}") == print(f"{arr[len(arr)-1]}") 1003

  • if not arr: == if len(arr) == 0: 4949

  • 소수 구하기 (isPrime())

    • 소수란, 1보다 큰 자연수 중에서 1과 자신으로만 나누어 떨어지는 자연수
    • 기본 함수.
    def isPrime(n):
      if n < 2:
          return False
      for i in range(2, n):
          if n % i == 0:
              return False
      return True
    
    • 개선된 함수: 약수를 찾을 때, 제곱근 까지만 확인하면 된다. (O(루트 N))
    import math
    def isPrime(n):
      if n < 2:
          return False
      for i in range(2, int(math.sqrt(n)) + 1):
        if n % i == 0:
          return False
      return True
    
  • 자릿수 더하기 12931, 12947

    var sum = 0
    while (num > 0) {
      sum += num % 10
      num /= 10
    }
    
  • 파이썬 조합 라이브러리 1759

    import itertools import combinations
    
    combinations(arr, r) # nCr
    

Life

  • 요즘 알고리즘 문제 푸는 재미에 빠졌다 ㅋㅋ 등수 올리는 재미가 있다 > 8827등이다!

  • 8/28 처음으로 진짜 도로에서 운전을 했다!! (오전 도로주행 교육)

Tags:

Categories:

Updated:

Leave a comment