안녕하세요. 지난 포스팅의 BOJ 1546번 : 평균에서는 파이썬의 리스트 자료형과 내장함수인 max() 함수와 sum() 함수를 이용해서 문제를 풀어보았습니다. 오늘은 리스트와 반복문을 활용해서 문자열을 분석하는 방법에 대해서 알아보도록 하겠습니다. 핵심 포인트 1차원 배열 : 리스트 자료형 문자열 내장 함수 : split() 함수와 count() 함수 제출 코드 T = int(input()) for _ in range(T) : quiz = input() score = 0 for s in quiz.split('X') : for i in range(1, s.count('O') + 1) : score += i print(score) 해설 문제의 입력은 첫번째 줄에 테스트케이스의 개수, 두번째 줄부터는 각 ..
안녕하세요. 지난 포스팅의 BOJ 3052번 : 나머지에서는 반복문과 리스트 자료형을 이용해서 문제를 풀어보았습니다. 특히, 저희는 리스트 압축(list compression)이라는 개념을 통해 여러 줄의 숫자를 하나의 리스트에 저장하는 쉬운 방법을 배웠습니다. 오늘도 역시 리스트 자료형을 활용하여 문제를 풀어보도록 하겠습니다. 핵심 포인트 1차원 배열 : 리스트 자료형 파이썬 리스트 함수 : sum() 함수와 max() 함수 제출 코드 N = int(input()) grade = list(map(int, input().split())) max_grade = max(grade) print((sum(grade) / max_grade * 100) / N) 해설 문제의 입력은 첫번째 줄에는 점수의 개수, 두번..
안녕하세요. 지난 포스팅의 BOJ 2562번 : 최댓값에서는 굳이 1차원 배열을 사용하지 않고 문제를 풀어보았습니다. 오늘은 1차원 배열을 적용해서 다른 문제를 풀어보도록 하겠습니다. 핵심 포인트 반복문 1차원 배열 : 리스트 자료형 제출 코드 number = int(input()) * int(input()) * int(input()) count = [0] * 10 while True : count[number % 10] += 1 number //= 10 if number == 0 : for i in count : print(i) break 해설 기본적으로 입력은 한 줄에 한 개씩 총 3개의 숫자를 입력받습니다. 하지만, 저희가 궁극적으로 필요한 것은 3개의 숫자의 곱셈이기 때문에 int(input())..
안녕하세요. 지난 포스팅의 BOJ 1110번 : 더하기 사이클에서는 반복문과 조건문을 활용하여 복잡한 구현문제를 풀어보았습니다. 오늘부터는 1차원 배열과 관련된 문제를 풀어보도록 하겠습니다. 핵심 포인트 반복문 1차원 배열 : 리스트 자료형 min & max 함수 파이썬에서 1차원 배열은 리스트 자료형으로 구현될 수 있습니다. 이번 문제는 숫자 배열을 입력받았을 때 최소값과 최대값을 순서대로 출력하는 것입니다. 파이썬에서는 리스트 내의 최소값과 최대값을 쉽게 찾을 수 있는 min(iterable) 함수와 max(iterable) 함수를 제공해주고 있습니다. 따라서, 저희는 이 함수들을 이용해서 빠르게 문제를 풀어보도록 하겠습니다. N = int(input()) numbers = list(map(int, ..