처음 써보는 개발일지여서 어떤 식으로 써야할 지 감이 잘 안 오지만, 일단은 지금까지 한 것들을 기록하고 새로 배운 내용들을 조금씩 적어보는 걸로 시작하려고 한다. 1일차 1일차부터 바로 프로젝트를 시작했다. 후기를 미리 안 보고 본가에서 오면서 차에서 잠깐 후기를
대학교를 경영학과로 진학했고 개발자로 진로를 정한 건 그렇게 오래되지 않았다. 1학년 때는 보상심리로 놀다가 1학년을 마치고 군대를 다녀오니 2학년이 되어있었다. 다니던 학교가 1학년 때 전공 수업을 듣지 않아서 2학년 때 처음으로 경영학 전공 수업을 듣게 됐는데, 이
입력값을 받을 때 input() 함수를 사용하고 있었는데sys.stdin.readline() > raw_input() > input()위의 순서로 sys.stdin.readline()가 더 빠르다고 한다.https://www.acmicpc.net/board/v
순열을 사용하는 문제다.itertools에서 permutations함수를 불러와서 사용하는데첫 번째 예시는 답이 잘 나오는데 두 번째 예시에서 68이 나와야하는데 72가 나왔다.곰곰히 생각해보니 단순히 중복되지 않는 순열의 경우의수를 출력해서는 안되고, 숫자를 나열했을
print함수의 옵션에 대해서 배웠다.문자열 사이에 구분자를 넣어서 출력해준다.print('A', 'B', 'C', sep='$ >>> Aprint() 함수는 기본적으로 출력 후 줄바꿈을 하는데end = '' 옵션을 넣어주면 줄바꿈 대신 출력값 끝 부분이 '' <
리스트의 마지막 요소를 꺼내고 리스트에서 그 요소를 삭제한다.() 안에 숫자를 넣으면 해당 인덱스에 해당하는 요소가 삭제된다.dfs 백트래킹 방식으로 구현했었는데 처음에 python3로 제출했을 때 시간초과가 나서 혹시나 해서 pypy3로 제출하니 통과가 되었다. 시간
헷갈리기 쉬운 연산자 연산자 끼워넣기 순열을 사용해서 푸는 방식과 dfs를 사용하는 방식이 있는데 dfs 방식이 더 효율적인듯 하다. 문제 조건에 "음수를 양수로 나눌 때는 C++14의 기준을 따른다. 즉, 양수로 바꾼 뒤 몫을 취하고, 그 몫을 음수로 바꾼 것과
리스트의 원소 또는 문자열 각각의 문자를 공백(스페이스바)을 사이에 끼워 출력' '.join(리스트) 도 리스트 요소 사이에 스페이스바를 넣어서 출력하지만 리스트 요소가 int값일때는 타입에러가 뜬다.TypeErrorexpected str instance, int fo
a:: 리스트 전체 가져오기. a:와 결과가 같음.a7::2 인덱스 7부터 2씩 증가시키면서 리스트 마지막 요소까지 가져오기a5:1:-1 인덱스 5부터 2까지 1씩 감소시키면서 요소 가져오기a::-1 인덱스 1씩 감소시키면서 요소 가져오므로 리스트 반대로 뒤집음.a-1
https://bladejun.tistory.com/97위 링크를 참고하였다.로직 자체는 비슷하게 짰다고 생각했는데target = min(target, abs(l + r))이런 식으로 타겟과 abs(l + r) 중에 작은 값으로 타겟을 업데이트를 하는 방식으로
3.12 (일) SW사관학교 정글 WEEK02 14일차아직 스택을 사용해서 문제를 해결하는 것이 익숙하지 않아서 다음 링크를 참고하였다.https://jjangsungwon.tistory.com/44입력받은 숫자를 앞에서부터 스택에 집어넣으면서 마지막에 스택에
백준 13334 철로 사람들의 house, office 간 거리(선분)가 주어지고 깔아야하는 철로 길이가 주어진다. 철로 안에 최대한 (house office) 선분을 꽉꽉 집어넣으면 되는 문제다. 우선 철로 길이보다 거리가 먼 선분들은 쓸모가 없으므로 탐색하면서
hin1209 님의 풀이를 참고하였다.히스토그램에서 만들 수 있는 최대 너비를 구하는 문제인데,히스토그램의 인덱스와 높이를 스택에 저장(append)하다가,스택에 있는 높이보다 낮은 히스토그램을 만나면 while문을 돌려가며 pop을 하고,pop한 값의 높이값(popp
어제는 시험 전날이었고, 어려운 문제를 만나서 고민하느라 기록을 남길 여력이 없었다.지난 주에 이분 탐색, 분할 정복, 스택, 큐, 우선순위 큐 알고리즘 문제들을 풀었고이번 주 부터는 그래프 탐색, DFS, BFS, 위상 탐색 알고리즘을 푼다.지난 주에 분할 정복 부분
연결 요소란?위 그림에서 연결 요소는 2개다.연결 요소는 다음과 같은 조건을 가진다.연결 요소에 속한 모든 정점을 연결하는 경로가 있어야 한다.다른 연결 요소와 연결되는 경로가 있으면 안된다.코드는 다음과 같다.DFS의 경우 리컬젼 리밋을 너무 적게 주거나 (예를 들어
혼자서 아이디어가 떠오르지 않아서 다른 분의 풀이를 참고했다..해당 블로그
빙산의 높이가 숫자로 주어지고 1년마다 둘러싸인 0(바다)의 숫자만큼 빙산의 높이가 낮아지는데빙산이 두 덩이 이상이 되는 시점의 햇수를 출력하는 문제다.테두리는 0으로 채워져있기 때문에 1 ~ N-1, 1 ~ M-1을 반복문을 돌리면서 둘러싸인 0의 개수를 카운트 후
무거운 구슬, 가벼운 구슬 순서로 구슬이 총 N개(홀수) 주어지는데무게 순으로 절대 가운데 값이 될 수 없는 구슬의 개수를 찾는 문제다.무거운 구슬과 가벼운 구슬을 따로 그래프에 넣어주고dfs를 통해 더 무거운 구슬의 개수, 더 가벼운 구슬의 개수를 카운트해서 중간값인
문제 링크혼자 힘으로 풀려고 했는데 오류가 계속 발생해서 블로그를 참고하였다.블로그 링크이 풀이는 물의 퍼짐과 고슴도치의 이동을 따로 bfs로 만들지 않고 하나의 bfs로 만든 것이 특징이다.주의할 점은 순서를 고려하지 않고 그냥 for문을 돌리면서 q에 i,j 인덱스
예시로 주어지는 그래프를 위상정렬 했을 때 오름차순으로 숫자가 나오게끔 수정해야하는 문제다.첫 번째로 주어지는 예제 입력은 위 그림과 같다.V1에서 V2로 연결된 간선이 있다면, V2의 번호는 V1보다 커야 한다. 라는 조건을 만족하기 위해서는 위상정렬을 했을 때 오름
규칙을 잘 찾으면 피보나치와 동일한 규칙을 가진 것을 발견할 수 있다.DP를 활용해서 코드를 작성했는데, 나머지 연산을 마지막에 한 번 했더니 메모리 초과가 발생했다.계산 과정에 계속해서 나머지 연산을 해주면 메모리 초과가 발생하지 않는다.코드
어느덧 WEEK04 2일차다.회의실 배정 문제는 그리디 알고리즘으로 분류되는 문제로,회의의 시작시간과 끝 시간이 주어지는데 최대한 많은 회의를 할 수 있는 경우의 수를 찾는 문제다.끝나는 시간을 기준으로 정렬한 다음 처음 회의를 답에 넣고 현재 회의 끝 시간보다 다음회
오늘 날짜 시간 출력하는 방법
CS 공부를 하면서 브론즈4 문제도 조금씩 풀고 있다.문자의 아스키 코드를 알려주는 ord 함수를 사용해서 풀 수 있다.'가'에 해당하는 아스키코드가 44032다. 따라서 입력값으로 들어오는 '가'를 1번부터해서 출력하기 위해 44031을 빼준다.또는 다음처럼 쓸 수
몸살 기운이 살짝 있어서 컨디션이 좋지 않지만 힘내보자.문제 풀러가기1번 돌멩이부터 N번 돌멩이까지 돌멩이를 밟고 가는 문제이다. 가는 길에 작은 돌은 밟을 수 없다.최소한의 점프로 갈 수 있는 횟수를 구해야하는 문제다.링크위 링크의 글을 참고하였다.
as
요즘 장염 + 몸살 때문에 컨디션이 좋지 않다.이 글을 보시는 분들은 건강을 잘 챙겨서 아프지 않으시길 바란다.어제는 rbtree 구현에 앞서서 rb tree가 어떤 시간 복잡도를 가지고 어떻게 동작하는지 영상을 통해 공부하였다.참고 영상 1 - rb tree 기본 개
트리 생성 메모리 해제 회전
implicit(묵시적) 방식과 explicit-LIFO(명시적-후입선출) 방식으로 먼저 구현하였다.수 많은 segmentation fault를 마주하고 좌절하다가치명적인 오타를 발견하고 수정해서 통과하는 걸 보니...C언어는 코드를 작성하는 사람이 다 알고 작성하는
핀토스 Threads - alarm clock 및 priority_donate 구현. 이번주는 본격적으로 정글 과정에서 악명이 높은 핀토스(PintOS) 프로젝트가 시작되는 주차였다. 본격적인 구현에 들어가기 전에 팀원들과 어떤 방식으로 구현을 진행할지 논의했는데,
#define, #if, #ifdef, #ifndef 위 같은 전처리기 지시문은 소스 프로그램을 쉽게 변경하게 하고 다른 실행 환경에서 컴파일되기 쉽게 만들기 위해 사용된다. #define identifier token-string(opt) #define ident
어느덧 4개의 PintOS 프로젝트 중 프로젝트 3의 절반이 지나갔다. 프로젝트 3은 2주에 걸쳐 진행되는 만큼 공부하고 구현해야할 내용이 더 많았다. 어제는 협력사 중 하나인 당근마켓의 방문 및 발표가 있었다. 대외비인 내용이 있어서 자세하게는 말할 수 없지만, 결
내용 정리 노션 링크