본문 바로가기

기타 활동/구직

(농협 6급 IT) 코딩 테스트 및 필기 후기

반응형

지루한 회사 생활😢에서 벗어나 처음으로 도전해 본 필기시험(이직을 위한..?) 농협 6급 IT

코딩 테스트를 본 지 2년이 다 되어가 취준 때의 감을 잃어버렸지만..

짧막하게 농협 6급 IT 코딩 테스트필기(직무상식&능력 평가)에 대한 후기를 올려보겠다.

 

 

 

 

 

 

 

 

 

시험 일정은

- 1차 코딩테스트 1.7(토)

- 2차 직무상식, 능력평가 1.8(일)

로 나뉘어 2번 진행될 예정이었으나, 2차 시험이 프로그래머스 서버가 터지는 바람에.. 약 1시간 반 대기하다

그 다음주인 1.14(토)로 연기가 되었다.

 

코딩테스트는 총 5문제가 나왔고 3문제 코딩, 2문제 SQL이 출제되었다.

 

코딩테스트 첫 문제는 for문과 if문을 이용하여 계좌의 금액 기준으로 이자를 계산하는 문제가 나왔다.

ex) 입력값으로 계약금액(1,000,000원)과 금리(3%)가 주어지면,

      (1년치 이자) = 계약금액 x 금리 = 1,000,000 x 0.03 = 30,000(원)

 

프로그래머스 사이트에서 풀어야돼서 자동완성 기능을 쓰지 못하는 바람에 Int 형 배열의 크기를 불러오는 arr.length 를 기억해내느라 시간을 허비하였지만 간단히 풀 수 있는 문제였다.

 

두 번째 문제는 기억이 가물가물하지만

100보다 작은 정수 A, B가 있다고 할 때 A*B 로 만들어지는 정수 C가 A, B를 이루는 숫자로 구성이 되었냐를

묻는 문제였다.

예를 들어 A, B는 2보다 작은 정수일 때,

A * B = C의 경우의 수는 아래와 같이 4가지이다.

A B A*B = C 여부
1 1 1 O
1 2 2 O
2 1 2 O
2 2 4 X

여기서 C 가 A, B를 이루는 수로 이루어 질때 주어진 조건이 만족하여 출력값은 3이 된다.

(위에서는 1, 2, 3번째 경우가 만족)

 

좀 더 큰 숫자를 예시로 들면

A=38, B=10 이라면 C는 380 이다.

C는 3, 8, 0으로 이루어졌기 때문에 A, B를 이루는 숫자 1, 3, 8, 0로 구성이 이루어지므로 조건을 만족한다.

따라서, 1<= A <= N, 1<= B <= M 에서 N, M 이 주어졌을 때

위 조건을 만족하는 케이스를 묻는 문제였다.

 

풀이는 A, B의 숫자를 String 문자열로 바꿔서 한 자리씩 Queue에 넣고, C를  문자열로 바꿔서 한 자리씩

Queue의 Contains() 함수를 이용하여 들어가있는지 확인해보면 되지 않았을까 하는 생각이 든다.

(시험 당시엔 String 전환을 생각 못하고 /10, %10 을 이용하여 한 자리씩 구하느라 먼길을 돌아갔다.)

 

세 번째 문제는 2차원 배열 int[][] map 이 주어졌을 때, 해당 배열의 값이 특정한 상태를 지닌 블럭이라하고 1초마다 아래로 떨어진다고 할 때 시간이 충분히 지난 후에 배열의 상태를 반환하는 문제였다.

 

(값)

0: 비어있는 공간

1: 1초마다 한칸씩 아래로 떨어지는 블럭

2: 움직이지 않으며, 주변에 1블럭을 못떨어지게하는 접착 블럭

 

0 0 1 0 0
0 1 0 0 0
1 0 0 2 1
0 0 0 1 0
0 0 0 0 0

으로 map이 주어졌을 때

 

1초가 지난 뒤의 모습은

0 0 0 0 0
0 0 1 0 0
0 1 0 2 1
1 0 0 1 0
0 0 0 0 0

이고,

 

시간이 충분히 흐르고 난 뒤의 map은 

0 0 0 0 0
0 0 0 0 0
0 0 1 2 1
0 0 0 1 0
1 1 0 0 0

이 될 것이다. 여기서 2는 움직이지 않고 주변의 1을 접착시켜 움직이지 못하게 하므로 위와 같이 움직이지 않고

고정된 상태가 된다.

따라서 테스트 케이스는 주어진 int[][] map 의 시간이 충분히 흐른 뒤의 map을 반환시키면 정답이 된다.

 

 

마지막으로 SQL 2문제는 JOIN은 나오지 않았고 정렬이나 기본 추출 명령어를 묻는 문제가 나왔다.

- 오름차순 정렬 order by 컬럼

- 소문자 전환 lower(컬럼)

- 중복을 제거하는 ditinct 컬럼

- 그룹화 gruop by 컬럼

 

2차 시험인 필기 시험은 75분 동안 진행되었고, 직무 능력 평가 30문제 / 직무 상식 평가 40문제가 출제되었다.

온라인으로 진행되었고 코딩테스트는 A4용지와 필기구를 허용해주는 반면에

필기 시험은 오로지 눈으로만 풀 수 있었다. (A4용지 사용 X)

 

체감상 난이도는 내 기준으로 어려웠으며 총 70문제 중 45문제를 풀었다. 처음에는 빠르게 풀 수 있는 문제들이 간간히 보였지만 뒤로 갈 수록 집중력이 떨어져서 그런지.. 난이도가 높은 느낌이었다. (거의 못품)

 

전체적으로 잘 본 느낌은 아니어서 합격은 기대하기 어렵겠지만.. 좋은 경험이었고 코딩 테스트와 필기 시험은 정말 꾸준히 준비하는 수 밖에 없다고 다시금 느꼈다. 😂

반응형