Home

[Python] 리스트(배열)의 최대, 최소값의 인덱스 구하는 방법

1. 원하는 동작 arr = [10,20,30,40,50,60] 위와 같은 배열이 있는 경우에 최대, 최소값을 구하는 함수는 max, min 을 이용하여 간단하게 값을 구할 수 있습니다. 하지만 최대, 최소값의 인덱스는 구해주지 않습니다. 이 경우에 어떻게 문제를 해결할까요?? 어떤 함수를 사용해야 할까요?? 2. 해결 방법 arr = [10,20,30,40,50,60] arr_len = len(arr) # 최소값의 인덱스 리턴 min( range(arr_len), key=arr.__getitem__) # 최대값의 인덱스 리턴 max( range(arr_len), key=arr.__getitem__) ...

Read more

[Python] 두 리스트(배열) 각 요소들의 값 더하기

1. 원하는 동작 및 실제 동작 list1 = [1,1,1,1,1] list2 = [1,1,1,1,1] list1 + list2 # 원하는 result [2,2,2,2,2] # 실제 결과 [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] python 에서 두 리스트의 같은 인덱스에 있는 인자들의 값을 더해주고 싶을 때가 있습니다. 그럴 때, 위와 같이 두 리스트를 더해주면 리스트가 연장되게 됩니다. 2. 해결 방법 아래와 같이 2개의 해결 방법이 있습니다. 해당 방법을 이용하여 손쉽게 문제를 해결할 수 있습니다. 2.1. list comprehension 을 사용하기 [list1[i] + l...

Read more

[백준] 18429번 근손실 _ 문제 풀이

1. 문제 https://www.acmicpc.net/problem/18429 2. 풀이 from itertools import permutations N, K = map(int, input().split()) exer = list(map(int, input().split())) answer = 0 for permu in list(permutations(exer, N)): val = 0 for x in permu: val += x - K if val < 0: break if val >= 0: answer += ...

Read more

[백준] 9012번 괄호 _ 문제 풀이

1. 문제 https://www.acmicpc.net/problem/9012 2. 풀이 2.1. 내 풀이 def solution(this): arr = [] for x in this: if x == '(': arr.append(x) else: if len(arr) == 0: return 'NO' else: arr.pop() return 'YES' if len(arr) == 0 else 'NO' total = int(input()) for...

Read more

[백준] 10773번 제로 _ 문제 풀이

1. 문제 https://www.acmicpc.net/problem/10773 3. 풀이 아래와 같이 배열을 사용하여 간단하게 해결할 수 있는 문제입니다. arr = [] total = int(input()) for _ in range(total): this = int(input()) if this == 0: arr.pop() else: arr.append(this) print(sum(arr))

Read more

[백준] 1003번 피보나치 함수 _ 문제 풀이

1. 문제 https://www.acmicpc.net/problem/1003 2. 풀이 2.1. 오답 풀이 처음에는 단순하게 재귀함수를 사용하여 문제를 해결하여 시간초과가 발생했다. d= [0, 0] def fibo(depth): if depth == 0 or depth == 1: d[depth] += 1 return fibo(depth-1) fibo(depth-2) test_n = int(input()) for i in range(test_n): d = [0, 0] fibo(int(input())) print('%d %d' % (d...

Read more