전체 글
2022 Google Kick Start Round E 참가 (22.08.20.)
1번은 간단한 직관으로 풀 수 있는 문제, n/5 + (n%5 == 0 ? 0 : 1)이었다. 2번은 binary search (upper bound)로 풀면 되는 문제였다. 다만 자기 자신이 나올 경우 예외처리를 해야 했었다. 3번은 palindrome matching 문제였다. 주어진 string에서 [0, 1~n/2]의 substring을 탐색해서 이게 palindrome이고 전체 반복된다면 이게 답이었다. n의 약수는 logn에 수렴하기 때문에 시간 내에 풀 수 있는 문제. 4번은 굉장히 복잡한 DFS 구현 문제였다. 조건이 [피자 배달 여부, 돈, 시간] 이렇게 3개였는데 상하좌우+제자리 대기 해서 각 탐색이 5^n이었고, DFS로 구현하면 안 되는 문제였다. 나중에 얘기 들어보니까 state를..
2022 군장병 코딩경진대회 참가 (22.08.19.)
1번 - 간단한 greedy + simulation 구현 문제 2번 - 문제 조건을 그대로 구현하면 되는 문제. map을 쓰면 되었다. 3번 - 아주 복잡했던 구현 문제. 4 by 4여서 전수탐색 DFS로 구현하면 되었는데, 구현하면서 신경 쓸 것이 너무 많아 결국 시간내에 풀지 못했다. 간단히 설명만 하자면 grid의 edge에서 dfs를 하면서, 사각형에는 n개의 edge개만 인접할 수 있는 조건이었는데 못 풀었다. 4번 - 3차원 DP 문제? 아마도. 아마 2솔한 것 같다.
2022 SCPC 1차 예선 참가 (22.07.15.)
1번 문제 건들다가, 증명을 못 해서 실패했다. 근데 내가 생각했던 직관이 맞았고 증명 과정에서 오류가 생긴 것이었음. 으악.
2022 UCPC 예선 참가 (22.07.02.)
뭔가 풀 수 있었던 것 같은데 못 풀었던 문제. 결과적으로 0솔이다... 추후에 upsolving하면서 풀었다. 25319 Twitch Plays VIIIbit Explorer - DFS로 푸는 문제였다.
22.08.20. 풀었던 문제들 - Codeforces #786 Div. 3 4/7
Codeforces #786 Div. 3 https://codeforces.com/contest/1674 Dashboard - Codeforces Round #786 (Div. 3) - Codeforces codeforces.com 결과 언제쯤 4/7의 벽을 통과할까. 그리고 C번 - 문제 이해를 잘못해서 뇌절을 좀 했다. D번도 직관으로 풀다가 틀려서 논리로 풀었고. 음.. 문제 풀 때, 완벽하게 증명된 경우에만 코드로 옮기는 걸 해야겠다. A번 문제에 낚였다. 주어진 조건이 10^9를 초과하지 않는 a, b를 구하라길래 sqrt 쓸 준비 하고 있었는데, x와 y가 둘 다 100보다 작다. 즉슨, a는 무조건 1로 두고 b는 y/x로 두면 된다는 말이다.... ll STANDARD = 100000000..
22.08.19. 풀었던 문제들
2022 군장병 코딩경진대회 총 4문제였다. 1번 문제는 greedy한 simulation 문제 2번 문제는 문제 조건을 그대로 구현하는 문제 3번은 DFS + 구현 문제였다. DFS 자체는 어렵지 않았는데 세부 구현이 너무 귀찮게 했다. 4번은 못풀었다.(보지도 못했다)
[Java Tutorial] Ubuntu Java 개발환경 세팅
Java로 동작할 Project N2T를 위한 개발환경 세팅이다. 1. JDK 설치 및 환경변수 설정 JDK 설치 Code Server는 이미 올라가 있는 상태. extension에서 Extension Pack for Java를 설치한다. 다음으로 아래 명령어를 입력해 JDK를 설치할 것이다. 나는 Java 관련 VS Code extension이 17 이상을 허용해서 17을 설치했다. sudo apt install openjdk-17-jdk 설치 확인을 해 보자. $ java --version openjdk 17.0.16 2022-07-19 OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu118.04) OpenJDK 64-Bit Serve..
22.08.16. 풀었던 문제들
백준 단계별 26 Shortest Path 1753 최단경로 - dijkstra 문제 1504 특정한 최단 경로 - dijkstra 조금 응용 문제 11404 플로이드 - floyd-warshall 문제 11657 타임머신 - bellman-ford 문제 1956 운동 - floyd-warshall 문제 13549 숨바꼭질 3 - dijkstra 문제. max를 어리도 잡냐가 중요한 문제였다. 9370 미확인 도착지 - 1504와 비슷한 문제. 다만 처음에 문제를 잘못 이해해서 'route가 최소값인 target들'을 고르는 건줄 알았는데, 그게 아니라 's에서 target까지 shortest path weight == s -> g -> h(또는 h -> g) - target)의 weight가 같은 ta..
[N2T] 네이버 에디터와 티스토리 에디터 분석
1. 네이버 에디터 html을 뜯어 보면 아래와 같다. 제일 상위에 se-main-container가 있고, 그 아래에 각각 글, 코드, 이미지 단락들이 존재한다. 좀 더 상세하게 뜯어본 결과, 네이버 블로그 본문의 구조는 아래와 같다. se-main-conatiner ┗ se-component se-text ... (글인 경우) ┗ se-component se-code {코드블럭 종류} (코드인 경우) ┗ se-component se-image ... (이미지인 경우) ┗ se-component se-quotation ... (인용구인 경우) ┗ se-component se-horizontalLine {구분선 종류} (구분선인 경우) ┗ se-component se-table (표인 경우) 네이버 블로..
[N2T] N2T - 네이버 블로그 이사 프로그램
N2T, Naver2Tistory란? 한 줄로 설명하자면 네이버 -> 티스토리 블로그 이사 프로그램입니다. 좀 더 자세하게 설명하자면, 네이버 블로그 링크를 올리면, 해당 포스팅의 내용을 티스토리 에디터에 맞게 형식을 고쳐 업로드 해 주는 프로그램입니다. 필요성 네이버에서 티스토리로 글을 옮길 때, 본문을 Ctrl+C - Ctrl+V를 하게 되면 복사한 글과 티스토리 에디터에 있는 양식에 맞지 않아 글 내용 수정에 애로사항이 생깁니다. 대표적으로 문단 제목 양식, 소스 코드 블럭, 사진과 캡션이 문제가 되고, Table Of Content도 제대로 출력되지 않습니다. 네이버 블로그 글을 티스토리로 복사해 왔을 때 문제점 재현 기능 v1.0.0 네이버 블로그 HTML 및 이미지 저장 티스토리 블로그에 공개..
22.08.15. 풀었던 문제들 *** vector erase, remove
프로그래머스 코딩테스트 실전 대비 모의고사 3회 1번 주어진 대로 반복문을 써서 풀면 되는 문제. int solution(int give, int take, int cur) { int answer = 0; while(cur >= give){ // 현재 가지고 있는 게 주는 것보다 많으면 줄 수 이씅ㅁ int ret = (cur / give) * take; // 돌려받는 것 answer += ret; cur = cur - ((cur / give) * give) + ret; // 현재 개수 = 현재 개수 - 준 것 + 돌려받은 것 } return answer; } 2번 뒤에서 4개가 주어진 조건을 만족한다면, 그것을 빼고 추가하면 되는 문제. list를 쓸까 vector를 쓸까 고민하다가 결국 더 빠른 ve..
22.08.14. 풀었던 문제들
프로그래머스 코딩테스트 실전 대비 모의고사 2회 1번 3중포문으로 간단하게 풀면 되는 문제 int solution(vector number) { int answer = 0; int n = number.size(); for(int i = 0; i
22.08.13. 풀었던 문제들
Codeforces #805 Div. 3 Upsolving G번 빼고 했다.(아직 배우지 않은 lca) 프로그래머스 코딩테스트 실전 대비 모의고사 1회 1번 두 수에서 각 숫자의 개수를 xcnt, ycnt에 기록한 후 xcnt[i], ycnt[i] 중 작은 값 만큼 정답에 붙여넣으면 된다. 0은 special case기 때문에 따로 예외처리 해 주면 된다. #include #include using namespace std; string solution(string X, string Y) { vector xcnt(10, 0), ycnt(10, 0); for(char c : X){ xcnt[c-'0']++; } for(char c : Y){ ycnt[c-'0']++; } string answer = "";..
22.08.12. 풀었던 문제들 - Codeforces #805 Div. 3 4/7
백준 단계별 25 그래프와 순회 7562 Knight Moves 1697 Catch That Cow 2178 미로 탐색 1012 유기농 배추 2667 단지번호붙이기 1260 DFS와 BFS Codeforces #805 Div. 3 https://codeforces.com/contest/1702 Dashboard - Codeforces Round #805 (Div. 3) - Codeforces codeforces.com 결과 언제쯤 4/7의 벽을 통과할까. A번 주어진 수보다 작은 10^k 중 k의 최댓값을 찾으면 되는 문제다. void solve(){ int m; cin>>m; int value = 1000000000; vector rounds; while(value >= 1){ rounds.push_b..
22.08.11. 풀었던 문제들
백준 단계별 25 그래프와 순회 2606 바이러스 24445 알고리즘 수업 - 너비 우선 탐색 2 24444 알고리즘 수업 - 너비 우선 탐색 1 24480 알고리즘 수업 - 깊이 우선 탐색 2
22.08.12. 취준 큰그림 (갑자기 의욕이 솟아나는 기분!)
전역 전까지, 일단 PS는 PS대로 하고, 해커톤은 해커톤대로 하고, 강의는 강의대로 듣고, 개인 플젝은 개인 플젝대로 할 것 같다! (아마 티스토리 글 자동 정렬기능, 네이버 포스트에서 글 불러오는 기능 정도를 플러그인 구현하지 싶다. 그리고 BE 서버 만족할 만한 수준으로 하나 정도?) 그리고 시간 날 때마다 기술 포스트 정리(남들이 알아볼 수 있을 만 한 수준으로 풀어서) + 조금 deep하게 조사 전역 전까지 CS(네트워크, OS, 알고리즘, DB) 관련 면접대비용 개념 포스팅 github 관리 (지금까지 했던 코드들 정리-정렬, 리팩토링, 주석 정리 등-, readme 꾸미기) 우선순위 1순위 대학 강의 - 끝! 2순위 PS 3순위 포폴 준비(해커톤, 개인 플젝) - 끝! 4순위 github 코..
[Figma] 소프트웨어 마에스트로 프로젝트 프로토타입 초안
소프트웨어 마에스트로 프로젝트로 진행한, 비즈킥스 프로토타입 초안이다. 디자이너를 한 분 모셔왔고, 대충 플로우를 보여주기 위해 에브리타임과 인터파크 UI와 유사하게 만들었다. 영상은 아래와 같다. 이 플로우를 참고해서 발전시켜 나갈 것 같다!