본문 바로가기

분류 전체보기66

2020 네이버 신입 개발자 공개채용 - 코딩테스트 후기 - 개발하는 얼마 전 카카오 코딩테스트에 이어 오늘 아침에 네이버 신입공채 코딩테스트를 치뤘다. 카카오는 5시간에 7문제로 긴 시간동안 시험을 봤지만, 이번 네이버는 2시간에 3문제로 비교적 짧은 수준의 코딩테스트를 치뤘다. 아침 10시~12시에 시험을 봐야해서 아침 8시쯤에 일어나서 정신좀 깨우고 준비를 했다. 10시가 되자마자 들어가서 시험문제를 봤는데, 1번문제가 생각보다는 쉬웠다고 생각한다. (아 그래서 올솔했다는건 아니다) 사실 어제 시험본 분들의 후기를 오픈카톡에서 접했을때는 생각보다 난이도가 있었다고 했었는데, 오늘의 문제들은 아마 다들 그리 어렵지 않게 느꼈을 수준이었을 것 같다. 1번은 투포인터로 풀수있었고 일반 탐색을 해도 충분한 문제였다고 생각한다. 2번은 분기한정(Branch-and_Bound).. 2020. 9. 28.
[알고리즘] 백준 2839번: 설탕 배달 풀이 (자바/Java) DP,동적계획법, Dynamic Programming 기본 www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그�� www.acmicpc.net 설탕 배달 1 초 128 MB 130830 39344 31733 31.834% 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로.. 2020. 9. 26.
일일커밋(Daily Commit) – 100일 회고 - 개발하는 지토 일일커밋(Daily Commit) – 100일 회고 올해 4월에 작년부터 약 10개월간 진행했던 프로젝트가 끝이 나고, 일주일의 리프레쉬 기간을 가졌다. 그 이후 본사 솔루션 개발을 진행하면서 무언가에 대한 갈증이 생기는걸 느꼈다. 작년 말쯤 이곳저곳의 글들을 지나다니면서 '일일커밋'이란 걸 해보리라..!라는 다짐을 하고 1주일.. 2주일... 당시의 내 의지는 너무도 쉽게 꺾이고 말았다. 진행 중이던 프로젝트의 테스트 기간도 다가오고 신경 쓸 것이 많아졌다는 핑계도 한몫했다. 그래도 숨통이 트이던 5월부터 다시 나의 학습과 발전에 대한 생각을 하게 되었다. 그리고 하지 않으면 작년과 똑같을 것이라는 생각에 '일일커밋(Daily Commit)'을 시작하게 되었다. 제대로 마음을 가지고 시작한 건, 202.. 2020. 9. 24.
[Java] 자바 코드,메소드 실행 시간 측정하기 : System.currentTimeMillis() - 개발하는 지토 알고리즘 문제풀이를 진행하거나, 실제 서비스를 구현할 때 어느 구간의 코드나 메서드의 실행시간을 측정하고 싶을 때가 종종 있다. 그럴 때 템플릿처럼 쓸 수 있는 코드이다. System.currentTimeMillis() 함수를 사용하여 시간을 받아오고 내가 측정하고자 하는 코드를 중간에 삽입, 그리고 두 시간 차이를 계산함으로써 ms단위의 시간을 구할 수 있다. 초(s)로 변환하여 보기위하여 나누기 1000을 해줬다. double beforeTime = System.currentTimeMillis(); // 런타임을 측정할 코드------------------------------------ System.out.println(Arrays.toString(solution(12345))); // 코드 END.. 2020. 9. 23.
[운영체제] 운영체제란 무엇인가? - 1편 - (운영체제의 목적, 컴퓨터 시스템의 처리 구조) - 개발하는 지토 운영체제 다중 프로그래밍 시스템 (Multi-programming System) 컴퓨터의 사용자와 하드웨어 사이에서 중개자 역할을 해주는 프로그램 운영체제의 목적 사용자가 컴퓨터를 편리하게 사용하는 것 컴퓨터 하드웨어가 효율적으로 사용되는 것 컴퓨터 시스템의 처리 구조 애플리케이션과 하드웨어의 중간에 운영체제가 위치함으로써 사용자와 하드웨어간의 상호작용을 도와주는 중개자 역할을 하고, 컴퓨터가 실행되는 동안 항상 수행되는 프로그램이다. 사용자 관점에서 좋은 OS : 사용의 용이성에 중점을 두고 자원 이용의 극대화에 중점을 둔 운영체제 → 항상 사용자를 편리하게 해주는 하나의 프로그램 시스템의 관점에서 좋은 OS: 하드웨어와 친밀하면서 자원을 효율적으로 할당해주는 자원 할당자 역할을 하는 운영체제 → 컴퓨.. 2020. 9. 17.
2021 카카오 블라인드 채용 KAKAO BLIND RECRUITMENT 카카오 코딩테스트 후기 올해 처음으로 카카오 블라인드 채용 코딩 테스트를 신청했다. 사실 제대로 알고리즘 문제풀이를 준비한 건 두 달 남짓 된 것 같다. 물론 회사일과 병행으로 준비했어야 했기에 평일엔 길어야 두세 시간 정도였던 것 같다. 오늘 두 시에 카카오 블라인드 채용 코딩 테스트가 시작이 되었는데 대기하고 있다가 바로 접속하여 시험을 치렀다. 첫 번째 문제는 알고리즘이라고 할 것도 없이 문제에 모든 구현이 주어져있었고 해당 글 대로 구현만 하면 되는 문제였다. 문자열을 다루는 방법이나 정규표현식 정도를 알아두면 충분히 풀 수 있었던 문제였다. 두 번째 문제는 문제 자체가 쉽게 이해가 가질 않아서 3번, 4번 문제를 먼저 풀었다. 3번 문제는 쉽게 풀이를 작성하였는데 효율성에서 통과하지 못했고 효율성을 통과하기 위해 고민.. 2020. 9. 13.