https://www.codetree.ai/missions/4/problems/ave-of-array?&utm_source=clipboard&utm_medium=text
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
배열의 평균
문제 : 숫자로 이루어진 2행 4열의 배열이 주어지면 가로 평균, 세로 평균, 전체 평균을 소수 첫째 자리까지만 출력하는 프로그램을 작성해보세요.
입력 형식
숫자로 이루어진 2행 4열의 배열이 공백을 사이에 두고 주어집니다.
- 1 ≤ 숫자 ≤ 100
출력 형식
첫 번째 줄에는 가로 평균을 ,
두 번째 줄에는 세로 평균을,
마지막 줄에는 전체 평균을 출력합니다. 모든 수 사이에 공백을 두고, 소수 첫째 자리까지만 출력합니다.
입출력 예제
예제1
입력
10 20 30 40
50 60 70 80
출력
25.0 65.0
30.0 40.0 50.0 60.0
45.0
문제를 풀기 위한 개념
파이썬으로 언어 변경한 지 얼마 되지 않아 2차원 배열에 대한 학습이 필요하다.
1차원 배열을 입력받아 담을 때는
arr = list(map(int, input().split()))
를 이용했다.
이것의 의미는 input()으로 입력받은 문자열을 split()를 통해 공백을 기준으로 자르고 이를 int 형으로 변환 후 list 에 저장한다는 의미이다.
2차원 배열이란 배열 속 배열
즉 격자판 처럼 n행 m열을 생각하면 된다.
2차원 배열에 입력받기 위해선 1차원 배열의 입력을 n번 받는다고 생각하면 편하다.
예를 들어
은 arr이라는 배열에 list 함수를 통해 배열을 입력받고 for문을 통해 2번 실행한다는 의미로 2행이 된다.
행이 가로의 개수이고 열이 세로의 개수이다.
내가 이 문제에서 짠 코드이다
우선 가로합을 구하기 위해서 행마다 반복문을 실시하고 그다음 열마다 반복문을 실시하여
처음 가로의 전체 sum 을 구한후 평균을 구하고 출력 -> 두번쨰 가로줄의 전체 sum 구하고 평균 구하고 출력
하였다.
이때 주의할 점은 소수점 첫째자리까지 출력할때는 포맷이 필요하다는 점이다.
파이썬 포맷시
print(f"{해당 변수:.(자릿수)f}")
를 통해 출력해야한다.
예를들어 변수 avg 를 소수점 첫째자리 까지 출력하려면
print(f"{avg:.1f}") 이다.
그렇게 가로의 평균들을 출력하고 이번엔 세로의 평균들을 출력해야한다.
주의할 점은 구조를 살펴봤을떄 세로의 출력은 네번의 출력과 두개의 합이 이루어져야하므로
이중반복문의 순서를 열 먼저 쓴다.
1열 에서의 1행 2행의 평균을 구하고 출력 -> 2열에서의 1행 2행의 평균 출력 - .. > 4열에서의 평균출력
의 과정을 거친다.
'코드트리 챌린지' 카테고리의 다른 글
[코드트리] 시간, 공간복잡도 / 기호 변환, (0) | 2023.09.20 |
---|---|
[코드트리] 대각선으로 숫자 채우기 / Python (0) | 2023.09.19 |
[코드트리 챌린지] 2주차 실력진단 + 푼 코딩테스트 모음 (0) | 2023.09.13 |
[코드트리 챌린지]1주차 실력진단 + 배열 코딩테스트 (0) | 2023.09.12 |
[코드트리 챌린지] 인증용 테스트 글 (0) | 2023.09.11 |