본문 바로가기

알고리즘3

[알고리즘] 2. 가장 낮은 절댓값 찾기 https://www.codingame.com/ide/puzzle/temperatures import sys import math # Auto-generated code below aims at helping you parse # the standard input according to the problem statement. n = int(input()) # the number of temperatures to analyse if n == 0: print("0") else: result = 5527 temperatures = input().split(' ') for i in range(n): t = int(temperatures[i]) if t == 0: result = t break elif abs(.. 2020. 8. 12.
[알고리즘] 1. 반복문으로 가장 높은 산을 파괴(최댓값) https://www.codingame.com/ide/puzzle/the-descent import sys import math while True: max_h = 0 index = 0 for i in range(8): mountain_h = int(input()) if mountain_h > max_h: max_h = mountain_h index = i print(index) ★ 최댓값과 인덱스 변수를 루프 밖에 선언하면 계속 같은 인덱스만 출력한다. 그러므로 변수선언시 유심히 생각해본다. 2020. 8. 12.
빅오(Big - O)표기법 youtu.be/6Iq5iMCVsXA 빅오 : 알고리즘의 성능을 수학적으로 표기한것(시간 / 공간복잡도) 실제 러닝타임이 아니라 알고리즘의 성능을 예측하는것이 목표이다. 상수와 같은 숫자들은 1이 된다. 1. O(1) F(int[] n){ return (n[0] == 0)? true : false; } (저 인자로 받는 값의 크기가 얼마이냐에 상관없이 배열의 첫번째 값이 0인지를 확인하는건데, 언제나 일정한 속도로 결과를 반환한다.) 입력데이터의 크기에 상관없이 언제나 일정한 시간이 걸리는 알고리즘을 말한다. 데이터가 증가함에 따라 성능에 변함이 없다. 2. O(n) 데이터와 시간이 같은 비율로 증가 F(int[] n) { for i = 0 to n.length print i } (n개의 데이터를 받으면.. 2020. 7. 8.