목록분류 전체보기 (101)
최용우
구현 + 완전탐색 문제이다. 구현이 조금 까다로워서 골드4 수준인듯 하다. 나는 조건문 + 재귀문을 이용해서 완전 탐색을 구현했다. 코드가 조금 지저분 하긴 한데 더 효율적인 방법이 있으면 소개부탁드린다. import sys input = sys.stdin.readline data = [] n = int(input()) nn = n ** 2 for _ in range(nn): line = list(map(int, input().split())) data.append(line) from collections import deque def calc(d, count): q = deque(d) for _ in range(count): x = q.pop() q.appendleft(x) return list(q) ..
2차원 배열에서 부분합에 대한 이해도를 묻는 문제. 행렬의 최대크기는 가로 x 세로 = 200 x 200 = 40000이며 O(n^2)이라고 하더라도 1억6천번으로 2초내에 계산이 가능하다. 특정 좌표 i, j에서 1, 1까지 부분합을 전부 계산하여 최대값이면 갱신하는 식으로 풀어냈다. 행렬의 크기를 1씩 늘려서 만들어주는 이유는 padding을 통해 계산을 용이하게 하기 위함이다. n, m = map(int, input().split()) data = [[0] * (m+1) for _ in range(n+1)] #부분합 만들어주기 for i in range(1, n+1): line = list(map(int, input().split())) for j in range(1, m+1): data[i][j]..
나는 일반적으로 취미를 2년 주기로 잡는다. 무엇을 배우든 2년은 해야 초보자 딱지를 비로소 뗄 준비를 할 수 있다. 축구, 탁구, 기타, 수영 등 잘하면 재밌지만 못하면 재미없는게 취미다. 가끔 주객이 전도되어 취미생활을 미치도록 잘하게 되어 전업을 하는 사람들도 있다. 뭐 이런 예외적인 경우를 제외하고 일반적인 사람들은 취미생활 2년차에 고비를 맞는다. 새로운것을 배우면 6개월부터 1년은 실력이 쑥쑥는다. 나는 그랬다. 군대에서 헬스를 배웠을 때도, 초등학교 때 수영을 배웠을 때도, 스노우보드를 배웠을 때도 그랬다. 문제는 2-3년차가 되면서 부터다. 아무리 해도 늘지 않는 때가 온다. 헬스가 그랬다. 2년 6개월 쯤 되니 근성장이 일어나지 않았다. 이유는 명백했다. 운동에 투자하는 시간이 짧았다. ..
푸는데 하루 꼬박 걸렸다. 처음부터 경우의 수를 잘 나누어서 분기처리했다면 더 잘 풀었을 텐데 주먹구구식으로 풀다보니 30번째 제출에 해결하였다. 풀이가 막 떠오른다고 섣불리 타자를 치기보단 정리 후 예외 사항은 없는지 반례는 없는지 고민해보는 습관의 중요성을 깨달았다. 12시간을 투자해서 풀었지만 의미있었던 문제라 기록을 남긴다. 쪼갤 수 있을때까지 세분화해서 문제를 풀어갈 것. 첫번째, 좌표평면에서 오른쪽 상단으로 밖에 움직일 수 없으므로 지뢰의 위치가 오세준보다 왼쪽 아래에 있는 경우 -1 두번째, 지뢰가 오세준의 x좌표 동일 선상에 있거나 y좌표 동일 산성에 있을 때 세번째, 오른쪽으로 i번 움직이면 위로는 n - i번 움직일 수 있고 모든 경우의 i에 대하여 완전 탐색을 한다. 이때 x축의 거리..
바이온사이트 탈락 후기를 말씀드리려고 한다. 바이온사이트는 인공지능 신약개발 회사다. 대다수 신약개발 회사들이 그렇듯 컴퓨터로 신약후보물질을 찾는 시간을 대폭 단축시켜 비용을 절감하고 효능이 좋은 물질을 찾는 것이 목표다. 나는 탈락했고 면접도 못갔기에 드릴 말씀은 별로 없지만 Bioinformatics, 즉 생명정보학 취업을 준비하시는 분들에게 조금이나마 좋은 정보가 될 수 있을것 같아 글을 남긴다. Timeline: ~2022년경 : 로켓펀치에서 생명정보학 관련 구인 공고를 보고 핸드폰 메모장에 메모 2023-02-04(토) : 이력서 및 자기소개서 작성하여 지원의사를 메일로 전달. 2023-02-09(목) : 전화 인터뷰(면접은 아니고 회사소개에 가까웠다.) 2023-02-12(일) : 과제 제출 ..
문자열 문제 같지만 사실은 수학 문제. a, b, c, d 4개의 음이 아닌 정수가 주어진다. 1) a, b, c, d 중 하나라도 0인 경우 2) a, b, c, d 모두 1 이상의 값일 때 두번째 경우 작은 수들 사이를 경계로 만들어 줄 수 있다. 예를 들어 b = 3 이면 아래 파란색 타원과 같이 a가 들어갈 자리는 b + 1 = 4 이 된다. b + 1 개 자리에서 a의 짝들이 최대 몇개까지 들어갈 수 있는지 계산 해주면 된다. (maxA, maxB가 모두 1이상임을 보장하므로) 만약 a == b 라면 a의 짝들은 타원 3개를 차지하므로 b * 2 a == b + 1 이라면 a + b a > b + 1 이라면 min(maxA * (b + 1), a) + b 끝. import sys input = ..
다우기술 신입공채 채용 후기를 말씀드리려고 한다. 엔지니어 직군 준비하시는 분들은 참고하면 좋을것 같다. 결론부터 말하자면 나는 중도포기. 나름 좋았고 약간의 아쉬움도 남는다. 2023 상반기 다우기술 Devops 엔지니어 신입채용 Timeline : 2023-01-11(수) : 자기소개서 및 이력서 제출 (다우기술 채용 홈페이지에서 진행) 2023-01-13(금) : 서류결과 발표 (개인 메일로 전달받음) 2023-01-18(수) : 기술력 진단 (코딩테스트 10문제 60분 + 인적성 240문제 약 2시간) 2023-01-27(금) : 기술력 진단 결과 발표 (다우기술 채용 홈페이지 및 개인 메일전달) 2023-01-28(토) : 실무면접 불참 메일 전달 1. 서류제출 간단하다. 다우기술 채용 홈페이지..
2023 새해가 밝았다. 원룸 주변을 돌아 보았다. 지난해 함께 했던 물건들을 바라보며 감사하다고 인사했다. 나는 맥시멀리스트도 아니고 미니멀리스트도 아닌 중간 정도의 물건을 가지고 있는 듯 하다. 딱 필요한것만 있으면 된다는 생각이다. 1. 가죽 필통 : 2016년 초 일본 여행 중 소품샵에서 800엔 주고 구매했다. 2. 스마트폰 : 2020년 초 동생에게 2년된 갤럭시 노트9을 받아서 사용중이다. 3. 돌체구스토 커피머신 : 2019년 엄마가 구매해주었다. 4. 가방 : 2019년 7월 등산 브랜드 밀레, 아울렛에서 구매했다. 5. 옷 : 2016년에서 2018년까지 고등학생 및 대학생 때 지하철 역 근처 보세매장에서 구매한 옷들 이다. 이렇게 나는 물건을 나열하니 최소 3년 이상 사용한다. 정말 ..
그래프 문제를 끄적이다 보면 단골로 등장하는 알고리즘이다. 3개의 특징을 구분지어 보고자 한다. 1) 다익스트라 : 하나의 정점에서 다른 어떤 정점까지의 최단거리를 구할 때 2) 플로이드 와샬 : 모든 정점에서 다른 어떤 정점까지의 최단거리를 구할 때 3) 벨만포드 : 하나의 정점에서 다른 어떤 정점까지의 최단거리 구할 때 딱 보아도 플로이드 와샬이 시간 복잡도가 가장 크다. 다익스트라 O(V+E) > 벨만포드 O(VE) > 플로이드 와샬 O(V3제곱) 세 알고리즘은 장단점이 있다. 그러나 특수한 경우에는 특정한 알고리즘을 쓰는 것이 좋다. Case 1. 하나의 정점에서 어떤 정점의 최단거리를 구할 때(일반적인 경우) => 다익스트라 Case 2. 음의 가중치가 존재하거나 음의 사이클을 검출 할 때 =>..
2022년 11월 25일 SQLD 결과 발표 66점으로 합격했다. 학창시절 데이터베이스 과목 수강했던 짬으로 핵심내용만 다시 공부했다. 어차피 직접 쿼리 작성하는 서술형 문제는 없고, 읽고 해석만 가능하면 되는 수준이었기에 어렵지 않았다. 학창시절 자주사용했던 join 쿼리보다는 생소한 cube, rollup과 같은 명령어들이 나와서 모르면 틀리는 문제들이 많았다. 또한 대다수 시험이 그렇듯 이론 내용 암기도 합격의 지름길이다. 개발자가 아니더라도 SQLD, ADSP는 공부하기에 좋은 자격증임에는 분명하다. 기본적인 흐름 공부하고, 취득시 자신감도 생기고 일석이조. 비전공자에게 매우 추천하는 바이다. 나는 그렇게 올해 3개의 자격증을 취득했다. 1. 정보처리기사 (2022년 06월) 2. ADSP (20..