파이썬(Python)(58)
-
리스트 최대 최소 2
Q) 가장 왼쪽에 있는 최댓값 - n개의 숫자 입력 - 최댓값 위치를 출력 - 최댓값이 여러 개면 가장 왼쪽에 있는 최댓값 위치 출력 - 구한 최댓값의 위치보다 왼쪽에 있는 숫자들 중 최댓값 위치 출력 - 첫 번째 원소가 최댓값이 되어 1을 출력하면 프로그램 종료 n=int(input()) arr=list(map(int,input().split())) arr2=[1] j=0 for i in range(1,n): if arr[i]>arr[arr2[j]-1]: arr2.append(i+1) j+=1 for i in arr2[::-1]: print(i,end=' ') - 거꾸로 생각해보기 - 입력한 수들을 하나씩 비교하여 최댓값 갱신하는 문제와 같음 - arr2 : 답이 될 리스트 (마지막 출력 시 거꾸로 출..
2022.10.25 -
리스트 최대, 최소
1. 리스트 최대 최소 구하기 1-1. for loop - 최댓값 또는 최솟값의 변수를 정의. (최댓값 : max_val, 최솟값 : min_val) - for loop를 사용하여 현재 값과 최대 또는 최소를 정의한 값과 비교를 하여 갱신 최댓값 arr=list(map(int,input().split())) max_val=0 for i in arr: if max_val> 1 5 2 5 3 9 9 최솟값 구하기 arr=list(map(int,input().split())) min_val=999999 for i in arr: if min_val>i: min_val=i print(min_val) 결과 >> 1 5 2 5 3 9 1 1-2. 문제점 - 위의 코드처럼 max_val을 0으로 지정하면 리스트의 원소..
2022.10.23 -
리스트 탐색
1. 리스트에 있는 원소의 인덱스 구하기 1-1. for loop - 몇 번째 index에 있는지 저장해 줄 idx 변수를 사용. word=['a','b','c','d','e'] val=input() idx=-1 for i in range(len(word)): if word[i]==val: idx=i if idx==-1: print('not exist') else: print('exist') print(f'{val}의 index는 {idx}') 결과 >> b b의 index는 1 exist >> f not exist 1-2 enumerate() - 리스트를 enumerate로 감싸 for loop를 사용하면 (index, 원소)와 같이 튜플로 반환 word=['a','b','c','d','e'] idx=..
2022.10.22 -
Count 리스트
1. Count 리스트 - 각 숫자가 몇 번 나왔는지 구할 때 사용 - 각각의 빈도를 리스트로 저장하기 위해 Q) 주사위를 10번 던졌을 때 1 3 6 2 1 3 3 5 4 4 값이 나오면 1~6까지 각각의 수가 얼마나 나오는지 구하기 1. 중첩 반복문 arr=list(map(int,input().split())) for i in range(1,7): cnt=0 for j in arr: if i==j: cnt+=1 print(f'{i}는 {cnt}번') 결과 >> 1 3 6 2 1 3 3 5 4 4 1는 2번 2는 1번 3는 3번 4는 2번 5는 1번 6는 1번 2. Count 배열 count_arr=[0]*7 # count_arr = [0, 0, 0, 0, 0, 0, 0] - 각 인덱스는 주사위 수를 ..
2022.10.15 -
리스트 만들기
1. list comprehension ex) 리스트 arr의 원소들을 각각 10을 더해주는 코드 arr=[1,2,3,4] new_arr=[] for i in arr: new_arr.append(i+10) print(new_arr) 결과 [11, 12, 13, 14] - list comprehension 문법 [(append 안에 들어갈 내용) (for loop)] - list comprehension을 사용하면 arr=[1,2,3,4] new_arr=[i+10 for i in arr] print(new_arr) ● 조건문을 사용하는 list comprehension [(append 안에 들어갈 내용) for loop (조건문)] - 원소들을 각각 10을 더한 후 홀수인 원소만 들어있는 리스트를 출력 a..
2022.10.14 -
리스트와 인덱스
1. list 값 참조 - 리스트 arr에서 i번째 원소의 값을 얻기 위해 arr [i-1]을 참조 arr=[1,6,3,7,9] print('3번째 원소', arr[2]) print('4번째 원소', arr[3]) 결과 3번째 원소 3 4번째 원소 7 - 만약 3번째 원소를 8로 바꾸기 위해서는? => arr [2]=8 코드 추가 arr=[1,6,3,7,9] arr[2]=8 print(arr) 결과 [1, 6, 8, 7, 9] 2. 특정 규칙의 index 참조 - 리스트 arr의 홀수 번째 원소의 합을 구하기 - arr [0], arr [2], arr [4],... 원소의 합을 구함 - index를 2씩 증가시켜 합을 구함 arr=list(map(int,input().split())) sum_val=0 ..
2022.10.10