#코드트리 #코딩테스트 #코딩테스트실력진단

 

2주차에는    기초 개념 복습을 위해 쉬운 문제를 풀었기에 대략 30  문제를 풀었다.

 

2주차 실력진단 결과

 

지난 번보다 40점가량 올랐다.

그러나 파이썬으로 언어 변경한 지 얼마 안돼서 2차원 배열을 다 까먹는 바람에 더 연습이 필요하다고 생각했다.

 

 

 

 

 

 

 

코딩 챌린지

 

 

이번주는 배열과 벡터에 관한 복습을 진행하였다. 

푼 문제 중 몇가지를 복습용으로 가져왔다.

 

 

 

1. 배열의 인덱스 참조 문제

배열의 인덱스를 참조할 때는 배열의 시작이 0부터이므로 i번째 원소를 출력하려면 [i-1] 인덱스로 접근해야한다. 

 

특정 위치의 숫자

10개의 정수를 입력받은 후 세 번째 다섯 번째 열 번째 입력받은 정수의 합을 출력하는 프로그램을 작성해보세요.

예제1

입력:

 

1 3 5 7 9 10 12 14 16 18
 

출력:

32

 

관련 코드

#include <iostream>
int main() {
// 여기에 코드를 작성해주세요.
using namespace std;
int arr[10];
int sum = 0;

for(int i=0; i<10; i++){
cin >> arr[i];
 
}
cout << arr[2] + arr[4]+arr[9];
return 0;
}

 

 

 

2. 배열 생성 문제

우선 9/15일 금요일 부로 희망 분야 특성상 기존에 사용하던 C++ 언어에서 python 으로 변경하기로 하였다.

 

10번째 피보나치 수 구하기

: 10 미만의 정수 두 개가 주어지면 순서대로 첫 번째, 두 번째 항으로 설정한 후 세 번째 항부터는 전전항과 전항의 합을 구하여 그 합의 1의 자리로 채워서 차례로 10개를 출력하는 프로그램을 작성해보세요.

https://www.codetree.ai/missions/4/problems/array-with-units?&utm_source=clipboard&utm_medium=text

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

파이썬으로 언어를 변경하여 까먹었던 내용들을 다시 공부하기 위해 배열부터 학습을 진행하였다. 

이 문제는 피보나치와 비슷하다.

처음에 입력으로 두 수를 받는다. 그 후 10번째까지 배열을 채워야한다. 3번째 배열 수는 1번째 + 2번째 수를 합친 수의 일의자리수 이며 이런식으로 i 번째 배열의 수는 i-1 번째와 i-2 번째 수를 합친 수의 일의 자리수가 된다.

arr = list(map(int, input().split()))
for i in range(3, 11):
arr.append((arr[-1] + arr[-2])%10)
for i in arr:
print(i, end=" ")
우선 배열에 두 수를 먼저 입력받았다. 
배열에 입력 받기 위해 map 으로 입력 받은 줄을 공백으로 split() 하고 int 형으로 저장했다.
i-2 번째 인덱스를 참조해야하므로 인덱스는 최소 3부터 시작되어야한다. 따라서 range(3,11) 을 통해 3은 포함하고 11미만 즉, 10까지의 수에 대해 반복을 진행하였다.
arr.append() 함수를 통해 배열에 원소를 추가하였다. arr[-1] 은 맨끝 원소를 가르키고 arr[-2] 은 그보다 더 전 원소를 가리킨다.
3에서 부터 시작한다고 가정할때 arr 의 현재 맨끝 원소는 2번째 원소이고 맨끝-1 원소는 첫번째 원소이다.
4일때는 현재 arr 맨끝 원소가 3번째 원소이고 맨끝-1 원소는 두번째 원소이다. 
..
이런식으로 반복문이 10번째까지 진행될것이다.
다만 주의할 점은 합만 그대로 출력하는 것이 아닌 합의 일의 자리 수 를 출력해야한다.
합의 일의 자리 수를 출력하려면 %10을 통해 10으로 나눈 수의 나머지를 배열에 담으면 된다.

 

 

 

 

 

 

 

다음주부터는 문제풀이는 따로 게시글로 작성한 후 링크를 공유하여 주차별 페이지에 올릴 예정이다.

728x90

+ Recent posts