진짜 어렵다.. 삼성은 옛날부터 빡 구현문제만 나온다고 자자해서, 백준에 있는 기출 문제집을 열심히 풀었다. 문제는 코드트리에서 확인할 수 있다. https://www.codetree.ai/training-field/frequent-problems 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai SDS는 주체가 루돌프가 아니였다. 근데 내용은 완전 동일했다. 코드트리 오마카세 (2번) 은 슬쩍 쳐다만 봤고, 루돌프의 반란 (1번)에 올인해서 풀었다. (체감 백준 골드1) 디테일하게 구현해야 하는 부분들이 정말 많아서 힘들었다. 2시간반? 동안 문제 이..
https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 배열을 4개로 분할만 해주면 되는 문제이다. dfs 함수를 만들었는데 이 함수는, 탐색할 사각형의 행,열의 시작 인덱스, 끝인덱스+1의 값을 갖는다. 맨 처음 dfs가 호출되면 가장 처음 값을 저장한 뒤, 인자로 들어온 인덱스를 순환하며 값이 다른지 확인한다. 값이 다르다면 사각형을 4개로 분할해야 한다. 값이 모두 같다면, 해당 사각형은 하나로 합쳐진다. 그러므로 0 또는 1에 해당하는..
https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 N^2 배열을 만들려고 봤더니 N의 크기가 1억이었다. 이걸로 2차원 배열을 만들면 너무 커지기 때문에 배열을 모두 만들어 쪼개는 것은 불가능하다고 생각했다. 그래서 규칙을 찾아보았다. 그 결과 다음과 같은 규칙을 찾을 수 있었다. (r, c)의 값은 r, c 중에 더 큰값에 1을 더한것이다. 예를들어 (1,3)일 경우에 해당 배열에 들어갈 값은 4가 된다. 이런 방법을 사용해 left ..
https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 고민하다가 방법이 잘 떠오르지 않아 다른 사람의 풀이를 봤다. 너무 쉽게 풀었다. 비슷한 접근을 하고 있었는데 조금 더 고민해볼걸 그랬다 라는 생각이 들었다. 1. 배열의 뒤에서 부터 탐색하며 각 값을 변수에 더해준다. 2. 각각 더한 변수의 값이 하나라도 0이상이라면, 계속해서 cap 만큼을 빼준다. 3. 빼는 행위를 할 때는 정답값을 더해준다. #include #include #in..
https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 완전 탐색을 할 수 있는지시간 복잡도를 먼저 계산해 보았다. 할인율의 종류가 4가지이고, 최대 이모티콘 개수가 7개이므로 4^7이 나온다. 거기에 사람 n은 최대 100이다. 이모티콘 할인 모든 경우에 수에 따라 사람마다 각각 이모티콘을 살지, 이모티콘 플러스를 살지 계산해 주어야 하므로 4^7 X 100 이다. 계산하면 1,638,400이 나온다. 이정도면 충분히 완전탐색을 돌려도 된..
https://school.programmers.co.kr/learn/courses/30/lessons/214288 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 완전 탐색으로 풀수 있을까? 생각해보았다. 상담 유형 k가 5이고, 멘토 수 n이 20일 때, 5명은 반드시 각 지정을 해야하므로 나머지 15명을 3곳에 각각 지정하면 된다. 이 경우의 수는 15C3이고, 각 경우마다 reqs 배열을 반복돌아야 하므로 시간초과 발생 우려는 없다. 그래서 완전 탐색으로 풀어도 된다고 생각했다. 1. 상담원을 각 상담유형에 배치하는 모든 경우의 수를 구한다..