본문 바로가기
반응형

전체 글236

[BOJ 1260] DFS와 BFS 파이썬 풀이 문제보기 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. www.acmicpc.net DFS와 BFS는 자주 쓰이는 알고리즘이기 때문에 정리해두면 좋습니다. 파이썬(Python3) 코드 from collections import deque def bfs(graph, start): for i in graph: graph[i].sort() explored, queue = set(), deque([start]) explored.ad.. 2019. 9. 21.
[LINE 코딩테스트] 상반기 기출문제 파헤쳐보기 LINE은 하반기에 채용전환형 인턴을 채용합니다. 이번주 일요일에 2019 LINE DEVEL-UP 코딩 테스트가 있죠? 2019년 상반기 LINE 인턴 채용 코딩테스트에는 어떤 문제가 나왔는지 한번 살펴보겠습니다. 문제 설명 문제 연인 코니와 브라운은 광활한 들판에서 ‘나 잡아 봐라’ 게임을 한다. 이 게임은 브라운이 코니를 잡거나, 코니가 너무 멀리 달아나면 끝난다. 게임이 끝나는데 걸리는 최소 시간을 구하시오. 조건 코니는 처음 위치 C에서 1초 후 1만큼 움직이고, 이후에는 가속이 붙어 매 초마다 이전 이동 거리 + 1만큼 움직인다. 즉 시간에 따른 코니의 위치는 C, C + 1, C + 3, C + 6, …이다. 브라운은 현재 위치 B에서 다음 순간 B – 1, B + 1, 2 * B 중 하나로.. 2019. 9. 20.
[파이썬(Python)] 회전행렬 / 2차원배열 회전하는 법 구현하기 알고리즘 문제를 풀면서 종종 2차원 배열을 회전하는 경우가 있습니다. 미리 정리해주면 좋을 것 같아서 회전 각도별로 코드 구현을 정리해봤습니다. 90도 회전 def rotate_90(m): N = len(m) ret = [[0] * N for _ in range(N)] for r in range(N): for c in range(N): ret[c][N-1-r] = m[r][c] return ret 180도 회전 def rotate_180(m): N = len(m) ret = [[0] * N for _ in range(N)] for r in range(N): for c in range(N): ret[N-1-r][N-1-c] = m[r][c] return ret 270도 회전 def rotate_270(m).. 2019. 9. 19.
[알고리즘/코딩테스트] 2019 NAVER 신입 공채 준비하기 2019 네이버 개발 직군 신입사원 공채 국내 최고의 IT 서비스 기업 중 하나인 네이버(NAVER)에서 3년만에 신입사원 공채를 열었습니다. 네이버는 국내 최고의 기업인데다 세 자리 수 모집이 계획되어 있으므로 지원자들 입장에서도 기대가 클 것이라 생각됩니다. 어제(9/17) 서류 접수가 마감되었는데, 자소서 문항 중 5번 문항(네이버 서비스 개선하고 싶은 점)이 쉽지 않았던 것 같습니다. 네이버 공채 향후 일정과 코딩 테스트를 어떻게 준비하면 좋을지 한번 알아보겠습니다. 2019 네이버 개발 직군 신입사원 공채 전형 절차 및 일정 2019 네이버 개발 직군 신입 공채는 다음의 총 4단계로 나누어집니다. 서류 접수 온라인 코딩테스트 1차 면접 2차 면접 코딩테스트 준비하기 서류 접수가 마감된 상황에서 .. 2019. 9. 18.
[Clean Code] 깨끗한 코드에 대한 대가들의 의견 깨끗한 코드란 무엇인가 책 『클린 코드(Clean Code)』에서 저자는 언제나 코드를 최대한 깨끗하게 유지하는 습관을 가지라고 말합니다. 그렇다면 깨끗한 코드란 무엇인가? 이에 대한 유명하고 노련한 프로그래머들의 의견을 정리해 보았습니다. 비야네 스트롭스트룹(Bjarne Stroustrup) C++ 창시자, The C++ Programming Language 저자 비야네는 '우아한'이라는 단어를 사용한다. '우아한'이란 단어는 사전에 따르면 "외양이나 태도가 기품있고 단아하며 보기에 즐거운; 교묘하고 단순해 보기에 즐거운"이라는 뜻이다. 비야네에 따르면 깨끗한 코드는 '보기에 즐거운' 코드다. 비야네는 효율도 언급한다. 단순히 속도만을 뜻하는 것이 아니다. CPU 자원을 낭비하는 코드도 우아하지 못하다.. 2019. 9. 14.
우아한 형제들 CTO 김범준의 개발자 추천 도서 10권 우아한 형제들의 CTO 김범준님이 추천하는 개발 도서 10권 한 사람의 책꽂이는, 그 사람의 과거와 현재와 미래를 보여줍니다. 1. 실용주의 프로그래머 - 저자 앤드류 헌트, 데이비드 토머스 코딩의 가이드라인부터, 설계, 프로젝트 관리, 사람들과의 관계에 대한 지혜까지 개발의 전 과정을 다루고 있다. - 역자 김창준 2. The C Programming Language - 저자 Brian W. Kernighan, Dennis Ritchie 저자의 앞 글자만 따서 'K&R'로 불리는 이 책은, C 프로그래머들에게는 C언어의 규격과 같은 역할을 했다. - Wikiwand 中 3. 리팩토링 - 저자 마틴 파울러 72가지 리팩토링 기법으로 코드를 개선하는 방법을 알 수 있으며, 객체지향 프로그래밍 능력이 한 단.. 2019. 9. 13.
반응형