
보안 문제로 인하여 인터뷰와 관련된 상세한 내용은 기재하지 않으니 참고 바랍니다. 인터뷰 일정 로드뷰길찾기지도 크게 보기 이번 인터뷰(면접)는 4일간 2020.12.08(화) ~ 2020.12.11(금) 삼성전자 인재개발원 서천 연수원에서 진행됐다. 그룹마다 면접일과 시간이 다 다르다. 정확히 몇 시부터 몇 시까지 있는지 몇 타임이나 존재하는지는 모르지만, 오픈 채팅방 면접자들 정보에 의하면 오전 7시 30분부터 오후 4시 정도까지 있는 것을 확인했다. 매 기수마다 정보가 달라질 수 있으니 SSAFY에서 공지해주기 전까지 기다리는 편을 추천한다. 나는 12.09(수) 오후 12시경 면접이었다. 면접이 끝나고 나서 알았는데 지인도 같은 조에 편성되어 있었다. S-방역(인재개발원 방역) 하필 인터뷰 기간이 ..

시험 응시 2020.11.21(토) 오전/오후로 나뉘었다. 비전공/전공을 따로 나눠서 치는 것 같진 않았다. 시험 종료 후 오픈 채팅을 보니 문제는 랜덤 하게 섞이고 사람마다 문제가 아예 다른 경우도 있다고 한다. 이번에 처음으로 인증샷을 보내야 하는 과정이 추가됐다. 일부 응시자들은 공지를 제대로 읽지 않아 누락되어 떨어지는 경우도 있었다. 메일, 문자로 오는 공지사항을 대충 읽지 말고 꼼꼼하게 읽어서 억울하게 떨어지지 말자. 수리/추리 논리력(객관식) 이걸 주어진 시간에 다 푸는 사람이 있을까.. 난 마지막까지 풀다가 10초 정도 남았을 때 허둥지둥 찍어서 냈다. 그 와중에 3문제 정도는 체크도 못하고 자동 제출됐다 ㅠㅠ 9문제 / 총 15문제로 마무리 Computational Thinking(주관식..

지원한 이유? 나는 입학부터 쭉 정보보안을 공부해 왔다. 물론 개발을 등한시하지는 않았고 대부분의 프로젝트는 보안보다는 개발로 진행했다. 2020년 초에 ETRI인턴(체험형) VS 취약점분석인턴(취업연계형) 중 하나를 선택하는 일이 있었는데, 나루토 vs사스케 급으로 박빙이었다. 개발과 보안을 선택해야 하는 일이어서 앞으로의 장래에 영향을 미칠 것이라 생각했기 때문이다. 결국 나는 개발업무를 진행하는 ETRI 인턴을 선택했다. 그 이유는 단순히 "개발이 더 재밌어서", "더 배우고 싶어서"였다. 지원서 작성에 여러 항목이 있다. 인적/학력사항과 관련된 정보는 생략하고 내 스펙은 마지막에 기재해뒀다. 경력 및 어학 경력사항 ETRI 인턴과 전역 후 정직원으로 일했던 사항을 적었다. 어학사항 나는 토익, 오..

이게 뭐야? 트리 종류 중에 하나이며, 연속된 구간(특정 범위)의 합(최솟값, 최댓값, 곱 등)을 구하는데 많이 쓰인다. 아래에서 선형구현과 비교하며 왜 쓰는지, 어떻게 사용하는지 gif를 준비해 놨으니 자세히 알아보자. 세그먼트 트리 문제 보기 문제 - 1 페이지 www.acmicpc.net 일단 결과부터 보자 입력된 수는 10의 7제곱이다. 10개의 데이터 [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]를 두고 구간 합을 구해본다. 예시 입력 : 1 10 예시 출력 : 55 선형 구현 O(N) 초기화 과정 O(N) ARRAY = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] for i in range(1,len(ARRAY)): ARRAY[i] += ARRAY[i-1] 1 3 6..

문제 문제로 이동 Problem - B - Codeforces codeforces.com 목차 문제 설명 전형적인 규칙 찾는 문제이다. 개인적으로 A보다 쉬웠다. 2차원 좌표평면 가운데에서 로봇은 동, 서, 남, 북으로 1미터씩 움직일 수 있다. 단, 한쪽 방향만으로 갈 수는 없고 북쪽으로 한 칸 이동 했다면 그 다음엔 서, 동으로 이동 남쪽으로 한 칸 이동 했다면 그 다음엔 서, 동으로 이동 서쪽으로 한 칸 이동 했다면 그 다음엔 북, 남으로 이동 동쪽으로 한 칸 이동 했다면 그 다음엔 북, 남으로 이동해야 한다. 이 때 N 값 만큼 이동할 수 있는데, 로봇이 갈 수 있는 공간의 개수를 출력하라는 문제다. 자세한건 예시를 보자. 예시 그림으로 설명하자면 동, 서, 남, 북으로 이동하기 때문에 결과적으로..

문제 문제로 이동 Problem - A - Codeforces codeforces.com 목차 문제 설명 두 수가 주어진다. 각 숫자의 위치를 바꾸는 여러가지 경우의 수 중 첫번째 수가 두번째 수보다 더 큰 확률이 높다면 RED를, 두번째 수가 첫번째 수보다 더 큰 확률이 높다면 BLUE를 같다면 EQUAL을 출력하라. 예시 위 입력 값으로 나오는 경우의 수는 아래와 같다. 1,2,3 순으로 나열 : 314>159 RED 1,3,2 순으로 나열 : 341>195 RED 2,1,3 순으로 나열 : 1342,3,1 순으로 나열 : 1433,1,2 순으로 나열 : 4313,2,1 순으로 나열 : 413RED 2, BLUE 4로 BLUE가 출력된다. 규칙 굳이 모든 수를 바꿔가며 비교할 필요가 없다. RED :..

문제로 이동 목차 문제 설명 구간합 문제다. 이 게시물에서는 세그먼트 트리를 이용해 해결한다. 충분히 단순 반복문으로 해결할 수 있지만 그런 경우, 구간 합을 구하는데 O(n)이 걸린다. 이런 과정이 M번 반복된다면 O(MN)이 된다. 구간합 뿐만 아니라 특정 위치의 수를 변경시키는 기능도 있다. 해당 위치의 수가 바뀌면 그보다 큰 위치의 합도 모두 변경해야 하므로 TLE가 날 수 밖에 없다. 세그먼트 트리를 이용하면 O(Mlog(N))으로 해결할 수 있다. 소스 코드 소스코드 import sys input = sys.stdin.readline tree = list() nodes = list() #ChangeIdx : 수정할 인덱스, ChangeNum : 수정할 숫자 def update(start, en..

문제 문제로 이동 Problem - B - Codeforces codeforces.com 문제 설명 입력되는 수열을 A, 새로 생성 해야하는 수열을 B라고 두자. 위와 같은 조건이 주어진다. 위의 조건을 만족하는 B를 출력해야 한다. 이게 어떤 의미인지 예시에서 알아보자. 예시 S : A배열의 총합 조건 : 같은 인덱스 끼리의 차이(절대값)의 합 * 2가 S보다 작거나 같아야 한다. B의 총 합이 A의 총 합(S)보다 작다면 성립이 된다. 하지만 문제설명에서 언급했듯이 주의해야 할 점이 있다. 주의해야할 점 1. B_i와 B_i+1는 서로 나눠지는 관계다. 즉, 한쪽은 약수 반대쪽은 배수가 되어야 한다. 이 조건을 만족하는 수는 바로 2의 제곱수이다. 규칙 A_i 보다 작은 2의 제곱수 B_i를 만들면 ..

문제로 이동 Problem - A - Codeforces codeforces.com 목차 문제 설명 몬스터 세 마리의 체력이 주어진다. 이 몬스터를 죽이기 위해서(체력을 모두 0으로 만든다) 공격을 해야한다. 공격은 단일공격 6회, 전체공격 1회를 반복할 수 있다. 즉, 1~6회 공격은 한 마리에게만 데미지가 들어가고, 7회째 공격은 세 몬스터에게 데미지가 들어간다. 몬스터가 모두 동시에 죽는다면 YES를 그렇지 않으면 NO를 출력한다. 예시 설명 위 그림처럼 3, 2, 4라는 체력을 가진 몬스터가 주어졌다고 생각해보자. 최종적으로 7회차 공격(전체 공격)때 세 몬스터의 체력이 동시에 0이 되면서 죽이기에 성공한다. 출력은 YES가 될 것이다. 주의해야할 점 위 예시는 7회차만에 공격이 끝난다. 하지만 ..

문제로 이동 5676번: 음주 코딩 각 테스트 케이스마다 곱셈 명령의 결과를 한 줄에 모두 출력하면 된다. 출력하는 i번째 문자는 i번째 곱셈 명령의 결과이다. 양수인 경우에는 +, 음수인 경우에는 -, 영인 경우에는 0을 출력한다. www.acmicpc.net 목차 너무도 흔한 세그먼트 트리 문제이다. 하지만, 주의해야 할 부분이 몇 가지 있다. 주의해야 할 점 1. 구간곱 문제이므로 수가 커진다. 하지만, 이 문제에서는 음,양,0만 판별하면 되므로 모든 수를 -1, 0, 1로 바꿔준다. 2. 문제에 TC(테스트 케이스)가 주어지지 않았다. C++에선 while scanf 사용이 가능하지만 Python3에서는 다른 방법을 사용한다. TC가 주어지지 않는 경우 Python3에서는 Try - Except ..