일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- set
- 부스트코스
- 2020 KAKAO BLIND RECRUITMENT
- 카카오 공채
- 프로그래머스
- 2018 KAKAO BLIND RECRUITMENT
- dfs
- 2019 KAKAO BLIND RECRUITMENT
- 2020 카카오 공채
- 알고리즘
- c++
- CS 스터디
- bfs
- gradle
- 2018 KAKAO BLIND RECRUITMENT 1차
- map
- 비트마스크
- Baekjoon
- 카카오
- gcp
- 삼성 SW 역량테스트
- 삼성 SW 기출문제
- Java
- 2019 카카오 공채
- 2019 카카오 개발자 겨울 인턴십 코딩테스트
- 백준
- 2018 카카오 공채
- 젠킨스
- 2018 카카오
- 자바
- Today
- Total
목록알고리즘 (76)
아무코딩
초반에 문제를 좀 잘못 이해해서 고치는 데 시간을 좀 썼다. 첨에보고 단순한 인접리스트 + BFS문제인지 알았다. 문제풀이 조금 신선한 방식의 문제였다. 하이퍼 튜브내에선 서로서로 바로바로 갈수있다는 개념을 적용하기위해 단순한 graph에서 가상의 node(역)를 추가하여 가상의 역인 경우에는 실제로 횟수를 올리지 않는 방법으로 구현하였다. 소스코드 더보기 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 #include #include #incl..
문제는 2번에 걸쳐 풀었다. c++로 푸는데 malloc을 사용하는 것이 맘에 걸려 class에 대한 공부 후 짜보았다. class사용에 조금 더 익숙해질 필요가 있는것 같다. 실행시간차이가 나는것으로 보아 malloc이 느리긴 느린것 같다. 결과를 보니 문제풀이 이진 탐색트리를 만드는 문제이다. BST 연습문제로 좋은 것 같다. 풀이1 malloc을 사용한 풀이이다. 더보기 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 ..
오류나서 고생한 부분 int -> double형으로 형변환시 손실되는 데이터로 인한 오차가 생겨 문제가 있어 모든 score를 double로 바꾸니 해결되었다. 문제풀이 하루 종일 파싱 하는 문제이다. (짜면서 리팩토링도 진행하여서 시간이좀 걸리기도 했다....).이번 문제를 풀 때 함수 재사용을 위해 함수 자체는 신경 써서 만들었다. 각 페이지 별로 1. 헤드내용을 뽑고 2. 헤드내용안에서 metatag안의 url을 뽑은 뒤 3. map을 이용해 index와 매핑시킨다. 4. body내용을 뽑은 뒤 5. 기본점수를 계산하고, 외부 링크를 벡터로 저장한다. 페이지별로 모든 작업을 수행한 뒤 링크 점수를 업데이트하고 가장 큰 매칭점수의 인덱스를 반환시킨다. head태그와 body태그 내용을 뽑아내기 위하여..
문제풀이 마치 string처리를 연습하라는 문제 같았다. c++에 제공하지않는 replaceAll 기능과 string tokenzie 기능을 구현하였다. 전에 구현한 string tokenize대신 더 깔끔하다. vector string_tokenize(string str, char delimeter) { vector result; string token; stringstream ss(str); while (getline(ss, token, delimeter)) { result.push_back(token); } return result; } 위 함수는 자주쓰는 함수라 따로 정리해둬야겠다. string replaceSharp(string str) { size_t pos=0; size_t offset=0;..
문제풀이 문제에 명시되어있는 로봇청소기 작동 로직을 그대로 따라 하면 된다. (시뮬레이션 문제) 후진 시 바라보는 방향을 안 바꿔줘야 되는데 실수로 바꿔버리는 바람에 오류 잡느라 다 찍어보며 시간이 걸렸다. 소스코드 더보기 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 #include #include int N, M; typedef struct Robot..
문제풀이 그리디 문제이다. 문제 lv2 문제였지만 나름 시간을 쓴 거 같다. 마지막 테스트 케이스 때문에 코드를 전면 수정하였다. 한경로로 쭉 직진하는 거만 생각했는데 갔다 돌아오는 경우도 고려했어야되서 현재 코드처럼 수정하였다. 소스코드 더보기 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 #include #include #include #include using namespace std; vector counts; int total_cnt = 0; int solution(string..
문제풀이 이진 탐색을 활용한 문제 개인적으로는 아이디어 구현까지 나름 모의 코테 문제 중에서는 가장 시간을 많이 투자한 문제였습니다. 이진 탐색의 마지막 처리가 헷갈려 시간을 좀 쏟았습니다. 문제 범위 때문에 순차적으로 하나씩 제쳐나가면 시간 초과가 뜨기 때문에 이진 탐색을 활용해야 됩니다. 소스코드 더보기 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 #include #include #include #define STONE_MAX_VAL 20000000..
문제풀이 실제 모의 코테를 칠 때 알고리즘 2 수업시간에 한번 다뤘던 스케쥴링이 생각났다. 스케쥴링 문제는 UnionFind를 활용한 문제였는데 Collapsing Find는 그대로 사용했지만 Weighted Union 말고 바로 다음 방을 골라야 되기 때문에 사용하지 않았다. Collapsing Find에서는 부모를 찾고 부모를 맵핑시켜주는 것이 가장 중요하다. 이를 이용하면 그저 간단하게 문제를 풀 수 있다. 효율성 문제인 거 같아서 쫄았지만 생각보다 앞 문제보다도 간단하게 풀었던 것 같다. 소스코드 더보기 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 31 32 33 34 35 36 37 38 39 4..