일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 코드잇 JavaScript 프론트엔드 개발자
- 코드잇 Python 풀스택 개발자
- 백준
- 리뷰어
- cout.precision
- 스트릭
- 티스토리챌린지
- timeval
- 프리코스
- fixed
- solved.ac
- 항해99
- 백준 스트릭
- 우아한테크코스
- 우테코
- 99클럽
- 코드잇
- 개발자취업
- 수행 시간
- 길벗
- 코드잇 강의
- 오블완
- 백준 문제 출제
- 파이썬
- 7기
- 코딩테스트준비
- 개발자
- Til
- 소수점 출력
- 백준 1000문제
- Today
- Total
목록일기장 (22)
BE THE DEVELOPER
오늘의 문제 | 프로그래머스: 모음사전처음 접근한 방식은 단순한 브루트포스로 하기로 했다. 모음 개수도 적고 경우의 수도 그리 많지 않을거 같아서 생각보다 할만해 보였다.아이디어: 어떻게 모든 경우의 수를 알아내야 할까생각해보니 이걸 어떻게 경우의 수를 다 찾아내야 할지가 고민된다. 처음에 생각했던건 길이가 5개라는 보장이 없기 때문에 공백 문자를 붙이는 방식을 할려 했는데 생각보다 중복이 많아질거 같아서 안되겠다.그 다음으로 생각나는건 DP 방식으로 하나씩 원소를 추가하는 것이다. 생각보다 배열의 길이가 많이 길어지지는 않을테니까 라는 생각이 드니 모든 경우의 수만 두고 나중에 정렬하는 방식을 차용하는 것이다.이 모든 경우의 수를 계속해서 불러내기 위해서 재귀함수를 활용하기로 했다. 다만 걱정되는건 문..
벌써 1주차 프리코스가 끝을 향해간다. 오늘부터 제출이 가능했는데, 나는 아직 제대로 작성한 코드가 없기 때문에 제출할 수 없다. 리드미는 약간 뒤로 미루더라도, 지금까지 정한 내용을 기반으로 코드를 먼저 구현하기로 했다.제출 기한은 내일 24시까지이다. 짧지만 남은 기간동안은 제대로 코드를 짜보려 한다.정규표현식을 활용한 문자열 탐색어떻게 해야 문자열에서 빠르게 구분자를 찾아내고, 이걸 문자열에 적용할 수 있을지를 떠올리려고 했다. 일반적으로 순회할까 했었으나, 오류가 생기는 케이스의 경우에는 예외처리할 일이 많았다. 즉, 일반적인 문자열 입력 양식과 일치하는 지를 파악해야 하는데, 이걸 정규식으로 하는게 가장 편하겠다는 생각이 떠나지를 않았다. 아무래도 우테코 디스코드에서 본 정규식 관련 글이 큰 힌..
이제는 더이상 미룰 수 없다. 입출력 방식도 알아냈고 테스트 방식도 대략 이해했으니 실제로 기능 구현을 어떻게 할지 적힌 README.md를 작성할 때가 됐다. 해당 내용을 작성하기에 앞서서, 기능 구현 관련해서 좋은 글이 올라온게 있어서 정리해보려 한다. 그거에 앞서서 에어비앤비 가이드를 자동으로 적용할 수 있는 방법이 있다고 해서 링크를 올려둔다. 물론 WebStorm에서만 사용 가능한거라 알아두기만 하려고 한다. https://gist.github.com/mentos1386/aa18c110dc272514d592ec27e98128be기능을 어떤 단위로 정리해야 할까?사진은 블로그에 올리기 좀 뭐해서 내 개인 노션에만 남기고, 내 방식대로 어떻게 정리할 지를 구상해보기로 했다.[문제 정의] 주어진 문제..
오늘의 문제: 2805. 나무 자르기오늘 문제는 예전에 풀었던 문제이다. 예전에 C++로 풀었던 문제이기에 이번에는 파이썬으로 다시 풀어보려고 한다. 기본적인 이분탐색 문제이기에 크게 어려울 것은 없어보이지만, 숫자가 매우 크다는 점만 고려하면 될듯하다.예전에 풀었던 문제라 이번에도 문제없이 금방 풀릴 줄 알았는데, 계속해서 틀리는 부분이 존재한다.n,m=map(int,input().split())l=[*map(int,input().split())]left=1right=max(l)mid=0while left=m: left=mid+1 else: right=mid-1print(right)오늘도 출력을 어떤 걸 해야하나에서 문제가 발생한 듯하다. 이제 대부분의 코드는 짤 수 있지..
오늘의 문제 | 24444. 알고리즘 수업 - 너비 우선 탐색 1이번에는 어제와 달리 BFS문제이다. 똑같은 형식이기에 비슷한 문제가 있을 것이라는건 파악하고 시작했다. 이번에도 수도코드를 보고 코드를 똑같이 구현하면 큰 문제없이 되지 않을까 생각중이다. 작성하면서 느낀건, BFS는 재귀함수로 작성하지 않아도 되기에 굳이 recursionlimit을 늘릴 필요가 없다. 단지 입력 횟수만 많다는것만 고려하면 오늘은 어렵지 않게 풀 수 있었다.import sysfrom collections import dequeinput=sys.stdin.readlinesys.setrecursionlimit(100_000)n,m,r=map(int,input().split())graph=[[] for i in range(n+..
뭔가 점점 전날에 계획 했던거 말고 다른 걸 진행하는 듯 하지만, 실제로 코드를 짜면서 하려다보니 조금 오래걸린다는 생각이 든다. 여러가지 공부하면서 진행하는 것도 좋지만, 실전처럼 여러 예외케이스들을 견뎌낼 수 있는 코드를 짜기 위해 우선적으로 가장 간단한 형태의 코드부터 짜려고한다. 하지만 커밋 컨벤션을 지켜야 하기에, 설계를 확실하게 하고 들어가야 하는데 시간 상의 문제로 힘들듯 하여 우선 간단하게 코드를 짜보고, 코드를 짜는 중에 어떤 문제가 있을지를 확인하여 실제로 시작하려고 한다. 그래서 프로젝트를 복제하여 코드를 짜기 시작했다.@woowacourse/mission-utils참 대단하다는 생각을 했다. 프리코스를 위해 실제 npm 라이브러리를 배포해놓았다. 이번 주차에는 여기에 있는 Conso..
오늘은 이번 프리코스 1주차 코드를 짜기 전, 확실한 목표를 잡아두고 짜려고 한다. 내가 어떤 코드의 목적을 갖고 짜야하는지, 명확한 방향성을 잡아두어야 추후 코드를 짜거나 테스트를 할 때 어려움이 생기지 않을 듯하다.코드의 목표명세서에 적힌 내용 외에는 모두 내가 임의로 판단하여 짤 수 있다. 즉, 내가 어떻게 코드를 짜야겠다고 결정하는 절차가 중요하다는 생각이 든다.기본적으로 명세서에 적힌 내용에 먼저 적응하자고 생각했다.기능 요구사항기본적인 구분자인 쉼표,와 콜론:으로 문자열을 분리하고, 각 숫자의 합을 반환해야 한다. 즉 구분자들이 더하기 기호와 같은 역할을 한다고 생각하면 될 듯하다.또한 두 기호 외에도 커스텀 구분자를 지정할 수 있다. //와 \n사이에 위치하는 문자가 커스텀 구분자가 된다고 ..
오늘의 문제 | 24479. 알고리즘 수업 - 깊이 우선 탐색 1아주 기초적인 DFS에 대한 내용이겠거니 했다. 물론 내가 그래프 관련 코드를 매우 오랜만에 짜는 것이기 때문에 수도코드를 보고 따라치는 수준이었지만, 그래도 예전에 짠 기억이 있었기 때문에 크게 무리 있지는 않았다.# 오답 코드 (Recursion Error)n,m,r=map(int,input().split())node=[i for i in range(n+1)]graph=[[] for i in range(n+1)]visit=[0 for i in range(n+1)]idx=1def dfs(node, graph, start): global idx visit[start]=idx idx+=1 graph[start].sort(..