본문 바로가기

분류 전체보기

(145)
[Python] 징검다리 (Softeer LEVEL 3) https://softeer.ai/practice/6293 Softeer - 현대자동차그룹 SW인재확보플랫폼 남북으로 흐르는 개울에 동서로 징검다리가 놓여져 있다. 이 징검다리의 돌은 들쑥날쑥하여 높이가 모두 다르다. 철수는 개울의 서쪽에서 동쪽으로 높이가 점점 높은 돌을 밟으면서 개울을 지 softeer.ai 문제풀이 DP? 계열의 문제라고 생각된다. 문제 설명이 너무 간단해서 오해가 있었다. "연속된 증가하는 돌"이 아니라 그냥 점점 높이가 높아지기만 하면, 중간 돌들은 띄어 넘을 수 있다. 반복문을 돌면서 현재까지 오면서 밟을 수 있는 최대의 돌 개수를 구하면 된다. 이건 말이 더 어렵다 코드로 한줄이다. 코드를 보자. 코테 보는 회사가 C++이 안되서 파이썬으로 하는데 진짜 간단하긴 한것같다.. ..
2023 하반기 SK C&C 코딩 테스트 후기 이게 웬일? 몇달 전 지원 때 떨어졌던 서류를 조금 수정 해서 냈더니, 서류 합격이 되어버렸다!! C&C 코딩 테스트는 난이도가 그렇게 높지 않다는 것 같아서 특정 알고리즘(union-find, topology sort 등등)문제를 하나 씩 정도 풀며 개념 정리를 했다. 그리고 sql 문제가 나온다길래 프로그래머스에서 sql 문제를 한 20개? 정도 열심히 풀었다. 총 4문제중 3문제는 알고리즘, 1문제는 sql 문제로 나왔다. 테스트 케이스 개수가 2개로 매우적고, sql은 심지어 그냥 출력만 확인 할 수 있고 테스트 케이스 같은게 없다. 빼먹은거 없는지, 실수한거 없는지 확인하는게 제일 중요하다. 문제는 어렵지 않았다. 3문제 모두 구현문제 였고, sql문제역시 프로그래머스에서 sql 3단계? 정도 ..
2023 하반기 오후 삼성 SDS 코딩테스트 후기 진짜 어렵다.. 삼성은 옛날부터 빡 구현문제만 나온다고 자자해서, 백준에 있는 기출 문제집을 열심히 풀었다. 문제는 코드트리에서 확인할 수 있다. https://www.codetree.ai/training-field/frequent-problems 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai SDS는 주체가 루돌프가 아니였다. 근데 내용은 완전 동일했다. 코드트리 오마카세 (2번) 은 슬쩍 쳐다만 봤고, 루돌프의 반란 (1번)에 올인해서 풀었다. (체감 백준 골드1) 디테일하게 구현해야 하는 부분들이 정말 많아서 힘들었다. 2시간반? 동안 문제 이..
[C++] 쿼드압축 후 개수 세기 (프로그래머스 LEVEL 2) https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 배열을 4개로 분할만 해주면 되는 문제이다. dfs 함수를 만들었는데 이 함수는, 탐색할 사각형의 행,열의 시작 인덱스, 끝인덱스+1의 값을 갖는다. 맨 처음 dfs가 호출되면 가장 처음 값을 저장한 뒤, 인자로 들어온 인덱스를 순환하며 값이 다른지 확인한다. 값이 다르다면 사각형을 4개로 분할해야 한다. 값이 모두 같다면, 해당 사각형은 하나로 합쳐진다. 그러므로 0 또는 1에 해당하는..
[C++] n^2 배열 자르기 (프로그래머스 LEVEL 2) 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 ..
[C++] 택배 배달과 수거하기 (프로그래머스 LEVEL 2) https://school.programmers.co.kr/learn/courses/30/lessons/150369 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 고민하다가 방법이 잘 떠오르지 않아 다른 사람의 풀이를 봤다. 너무 쉽게 풀었다. 비슷한 접근을 하고 있었는데 조금 더 고민해볼걸 그랬다 라는 생각이 들었다. 1. 배열의 뒤에서 부터 탐색하며 각 값을 변수에 더해준다. 2. 각각 더한 변수의 값이 하나라도 0이상이라면, 계속해서 cap 만큼을 빼준다. 3. 빼는 행위를 할 때는 정답값을 더해준다. #include #include #in..
[C++] 이모티콘 할인행사 (프로그래머스 LEVEL 2) 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이 나온다. 이정도면 충분히 완전탐색을 돌려도 된..
[C++] 상담원 인원 (프로그래머스 LEVEL 3) https://school.programmers.co.kr/learn/courses/30/lessons/214288 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제풀이 완전 탐색으로 풀수 있을까? 생각해보았다. 상담 유형 k가 5이고, 멘토 수 n이 20일 때, 5명은 반드시 각 지정을 해야하므로 나머지 15명을 3곳에 각각 지정하면 된다. 이 경우의 수는 15C3이고, 각 경우마다 reqs 배열을 반복돌아야 하므로 시간초과 발생 우려는 없다. 그래서 완전 탐색으로 풀어도 된다고 생각했다. 1. 상담원을 각 상담유형에 배치하는 모든 경우의 수를 구한다..