본문 바로가기

백준84

[백준/Python] 1546번 평균 문제 ■ 백준 1546번 평균 문제 ■ 코드 풀이 아이디어는 다음과 같습니다. 1) 과목 수 N을 입력 받습니다. 2) 과목들의 점수를 입력 받습니다. 3) lambda 함수를 사용하여 과목 별 값을 최대 값으로 나누고 100을 곱하여 다시 list로 저장합니다. 4) 최종 list의 평균을 구하여 출력합니다. import sys N = int(sys.stdin.readline()) scores = list(map(int, sys.stdin.readline().split())) scores = list(map(lambda x : x/max(scores)*100, scores)) print(sum(scores)/len(scores)) 저는 lambda를 함수를 정의해서 사용하고는 싶은데, 횟수가 1회성이거나 한.. 2023. 3. 21.
[백준/Python] 10811번 바구니 뒤집기 문제 ■ 백준 10811번 바구니 뒤집기 문제 ■ 코드 풀이 아이디어는 다음과 같습니다. 1) 바구니 개수 N과 반복 횟수 M을 각각 입력 받습니다. 2) basket이라는 list를 선언하고 1부터 N까지 값을 채워 줍니다. 3) M번 동안 i와 j를 입력 받습니다. 4) basket의 i번째부터 j번째 바구니를 바꿔야 하므로, list index에 접근하기 위해 i-1을, j는 포함되어야 하므로 j-1+1 = j를 range로 하여 basket list를 slicing 합니다. 5) slicing한 값을 temp에 넣어두고 temp의 순서를 reverse 메서드를 활용하여 바꿔줍니다. 6) 순서를 바꾼 값을 다시 basket list에 업데이트 합니다. N, M = map(int, input().split.. 2023. 3. 21.
[백준/Python] 3052번 나머지 문제 ■ 3052번 나머지 문제 ■ 코드 풀이 아이디어는 다음과 같습니다. 1) 파이썬에서 set은 중복된 값을 자동으로 제거해주는 자료형입니다. 2) 나머지 숫자들을 담을 number_set을 선언해줍니다. 3) 사용자로부터 number에 정수값을 입력 받고, 42로 나눈 나머지 값을 number_set에 추가해줍니다. (add 메서드) 4) number_set의 길이를 출력합니다. import sys number_set = set() for i in range(10): number = int(sys.stdin.readline()) number %= 42 number_set.add(number) print(len(number_set)) 다른 분들은 어떻게 풀었을까요? 아래와 같이 list만으로도 풀 수 있습.. 2023. 3. 20.