[목차]310 [Level_2 / C++ / 카카오] 튜플 먼저 이차원 벡터안에 각 원소들의 숫자의 개수들을 집어넣고 각 벡터의 사이즈만큼 sort 한 후 map 자료구조를 통해 없는 원소들을 추가해주는 식으로 진행했다. 로직은 쉬워서 문자열로 제공되는 저 숫자들을 어떻게 빼내야 할지가 관건인 문제인거 같기도하다. 내가 푼 방식은 substr 함수와 find 함수를 익힐겸 해봤는데 이 방식 말고 다른 방식을 쓰는것을 추천한다 예를 들어, 방식은 여러가지가 있겠지만 가장 간단한 방법은 문자열을 차례대로 살펴보면서 그냥 숫자만 보면된다. ',' , '{', '}' 이러한 문자를 만났을 때는 그냥 else로 다 처리하란말이다. string s= ""; 숫자야? 응 s += 숫자1 숫자야? 응 s += 숫자2 숫자야? 아니 s == "숫자1숫자2" 이 값을 정수형으로 .. 프로그래머스/Level_2 2022. 1. 19. [NAVER Maps Tech 채용 연계형 인턴십] Maps Mobile 네이버 지도앱 개발 지원 후기 [필수] NAVER 인턴십에 지원하신 동기와 기대하시는 바를 말씀해주세요. [필수] 본인이 보유한 Skill의 활용 정도를 모두 적어주세요 [작성예시 : ① C - 2 ② Java - 2 ③ Linux 커맨드 및 개발환경 - 1 ④ Shell Scripting - 0 ⑤ Android - 2 ⑥ R - 2] 4 - 대규모 프로그램 및 시스템을 참고사항(책/인터넷)없이 개발할 수 있으며, 일반적이지 않은 난해한 부분도 일부 참고를 통해 개발할 수 있음. 3 - 중간규모 프로그램 및 시스템을 개발할수 있으며, 주요 이슈 트러블슈팅을 할 수 있을 정도로 내부구조에 대해 이해하고 있음. 2 - 시스템 동작 방식을 알고 있으며, 기본적인 기능을 구현할 수 있음. 1 - 코드를 읽을 수 있으며, 책을 참고하여 약간.. 기타/인터뷰 2022. 1. 19. [백준 1561번 / C++] 놀이 공원 이분 탐색을 통해서 풀어야 할 문제다. 먼저 l과 h 에 최소로 들어갈 숫자 1과 최대로 들어가야할 숫자 60000000000을 저장한다. 즉, h에는 "놀이기구 하나에 운행시간 30 * 사람수의 최대" 가 들어가야한다. 내가 이렇게 초기화 안해서 아래 문제에서 매우 화가난적이 있어서 이제는 최대값이 몇인지를 계산부터 한다. 이 백준문제에서도 h값을 무작정 높은 숫자로 했다가 원하는 결과값이 안나올 수 있으니 초기화에 신경쓰자. [Level 3] 입국심사 (C++) 진짜 이 문제에 시간 엄청 많이 쏟아 부었다. 아무리봐도 이게 정답인데 계속 "6번 9번 테스트케이스"에서 오류가 났다. 너무 스트레스 받아서 시간 보니까 3시간이 지나있었다. 비쥬얼 스튜디오 baebalja.tistory.com 로직은 이렇.. 백준/이분탐색 2022. 1. 19. <resize> 벡터 초기화 벡터의 사이즈를 정하면서 어떠한 값으로 초기화 시켜줄 때 쓰는 함수다 1차원 뿐만 아니라 2차원 또한 초기화가 되므로, 코딩테스트에서 벡터를 사용할 필요가 있을 때는 1차원 또는 2차원 벡터까지만 사용하는 문제가 99.99999퍼센트이기 때문에 다음 함수를 잘 활용해보자. #include #include using namespace std; int main() { vector v; v.resize(10, 2); cout 기타/C++ 문법 2022. 1. 19. [백준 1644번 / C++] 소수의 연속합 증가되는 소수의 값들을 기준으로 투포인트를 활용해서 푸는 문제이다. 에라토네스의 체를 활용하여 N값까지의 소수들을 벡터에 넣어주고 시작 포인터와 끝 포인터를 지정해서 sum값을 갱신해나간다. while문에서 조건이 총 4개이다. 첫번째, sum 값이 n보다 크거나 같으면 시작 포인트를 하나 올려준다. 두번째, 끝 포인트가 벡터의 사이즈까지 도달했으면 break 해준다. 세번째, sum 값이 n보다 작으면 끝 포인트를 증가시켜준다. 네번째, sum과 n 이 같으면 카운팅 해준다. 시작포인트와 끝포인트는 0번째 인덱스를 시작으로 while문이 시작된다. #include #include #include #include using namespace std; vector check; int main() { vec.. 백준/증가수열 & 투포인터 2022. 1. 19. [백준 4375 / C++] 1 이 문제는 다음과 같이 풀면 된다. 1 11 111 1111 ............ .............. ................ 이런식으로 이어질텐데 저 값 순서대로 입력받은 값으로 나누었을 때 나누어지면 그 길이를 출력해주면 된다. 하지만, 여기서 주의할 점은 int형의 범위를 넘어설 수 있으니 long long 의 타입으로 설정을 해주어도 문제를 해결 할 수 없다. 즉, long long 64비트에 해당하는 정수값을 넘어설 수 있다는 얘기다. 그렇기 때문에 좀 더 깔끔한 방법이 필요한데 나머지를 초기화 시켜주는 것이다. 예를 들면, n=3 일 때 (첫번째 방법 - 틀린 것) 11에서 3을 나누었을 때 나누어지지 않으니까 1을 더 추가해서 111로 만들어준 후 다시 3으로 나눈 나머지를 확.. 백준/구현 2022. 1. 19. [Level 3] 입국심사 (C++) 진짜 이 문제에 시간 엄청 많이 쏟아 부었다. 아무리봐도 이게 정답인데 계속 "6번 9번 테스트케이스"에서 오류가 났다. 너무 스트레스 받아서 시간 보니까 3시간이 지나있었다. 비쥬얼 스튜디오에서 모든 테스트 케이스 쳐보고 계산해보고 하던 것을 중단하고 남들이 짜놓은 코드를 확인하고 검사해봐도 오류를 발견하지 못했다. 이진탐색은 다 똑같은 로직이기 때문에 이게 문제는 아니였던 거 같다. 이진탐색을 한번이라도 풀어 본 사람은 제일 처음 변수를 start와 end를 가리키는 변수를 생성해야한다. 나는 해당 변수명을 l 과 h 로 보통 지정하는 편인데 각각 초기화를 1과 LLONG_MAX 로 지정하였다. 근데 이렇게 하면 안된다. h에는 모든 사람이 제일 긴 심사 기간을 가지는 심사관한테 다 갔을 때 걸리는 .. 프로그래머스/Level_3 2022. 1. 18. [백준 7795번 / C++] 먹을 것인가 먹힐 것인가 먼저, a라는 배열과 b라는 배열을 오름차순으로 정렬시킨다. 그리고 a 배열의 첫번째 값과 b 배열의 첫번째 값과 비교했을 때 a의 값이 더 클경우 b의 인덱스를 하나 증가 시켜준다. 즉, b값이 a의 값보다 같거나 커질때까지 계속해서 증가시켜주다가 해당 반복문을 통과된다면 더 이상 잡아 먹을 수 없는 인덱스를 갖는 b의 값으로 세팅 되어 있을 것이다. 다시 말해서 새로 세팅한 b배열의 인덱스 값이 a값이 잡아먹을수 있는 개수라고 생각하면 된다. 이 개수를 dp라는 배열에 하나하나 저장 시켜주고 출력 할 때 dp의 모든 값을 더해주면 된다. #include #include #include using namespace std; int main() { int n; cin >> n; while (n--) { .. 백준/증가수열 & 투포인터 2022. 1. 18. [백준 1202번 / C++] 보석 도둑 자료구조 Priority_Queue는 Queue 의 한 종류인데 말 그대로 우선순위에 따라 정렬된 Queue라고 보면 도니다. 와 동일한 라이브러리에서 지원 해주며 특정 원소를 push 를 할 때 O(logN)만에 이루어진다. 해당 시간 baebalja.tistory.com 이 문제는 priority_queue 내림차순인 Max heap구조를 사용하면된다. 먼저, 다음과 같은 예시가 주어졌다고 가정하자 테스트 케이스가 다음과 같이 주어졌을 때 오름차순으로 정렬을 한다. 이후, 가방의 크기가 작은 것부터 해서 담을 수 있는 보석을 하나씩 다 담아본다. 즉, 가방이 담을 수 있는 무게의 크기가 2라면 2이하인 보석들이 Queue에 빼곡빼곡 쌓여있다고 생각하면 된다. 그리고 더이상 담을 수 없는 무게의 보석이.. 백준/그리디 2022. 1. 18. [백준 9375번 / C++] 패션왕 총 4가지 (바지 안입을 때, 바지1, 바지2, 바지3) -> 총 4가지 근데 여기서 알몸이 아닌 상태여야 하기 때문에 마지막에 -1 을 해줘야한다. 여기서 map 을 활용하여 의상 종류를 키값으로 갖는 벨류값을 하나씩 증가하여 같은 종류의 의상 개수를 확인할 수 있다. #include #include #include using namespace std; int main() { int n; cin >> n; for (int i = 0; i > nn; map m; for (int j = 0; j > s1; string s2; cin >> s2; m[s2]++; } int sum = 1; for (auto x :.. 백준/구현 2022. 1. 18. 이전 1 ··· 23 24 25 26 27 28 29 ··· 31 다음 반응형