CS 130

[백준] 2011. 암호코드

https://www.acmicpc.net/problem/2011 쉬운듯하지만 신경쓸게 있고, 구현 과정에서 실수하기 좋은(헷갈리는..) 부분이 많아서 푸는데 시간이 좀 걸렸다. 우선 dp로 풀 수 있는 문제이다. 25114가 주어졌을 때, 먼저 2를 만드는 경우부터 25, 251, ... , 25114를 만드는 경우까지 생각해보자.2 -> dp[1] = 1225 -> dp[2] = 22 + 525251 -> dp[3] = 2 2 + 5 + 125 + 12511 -> dp[4] = 42 + 5 + 1 + 125 + 1 + 12 + 5 + 1125 + 1125114 -> dp[5] = 62 + 5 + 1 + 1 + 425 + 1 + 1 + 42 + 5 + 11 + 425 + 11 + 42 + 5 + 1 +..

CS/Algorism 2024.06.27

[2022 KAKAO TECH INTERNSHIP] 코딩 테스트 공부

https://school.programmers.co.kr/learn/courses/30/lessons/118668# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr[문제 정의]주어진 모든 문제를 풀 수 있는 알고력과 코딩력을 가진다는 말은, 주어진 problems 배열에서 가장 큰 값인 알고력과 코딩력을 가져야 한다는 말이다. 즉, (초기 알고력, 코딩력)에서 시작해서 (목표 알고력, 코딩력) 상태에 도달하는데 걸리는 최단 시간을 구하면 된다. [구현]그런데 현재의 알고력과 코딩력에서 알고력 및 코딩력을 늘릴 수 있는 방법은 다음과 같이 여러 방법이 있다.알..

CS/Algorism 2024.06.21

[2023 KAKAO BLIND RECRUITMENT] 미로 탈출 명령어

https://school.programmers.co.kr/learn/courses/30/lessons/150365 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 카카오 문제치고 간단하네? 라고 생각했지만 시간 초과.. dfs 문제인데, dfs를 돌지 않아도 되는 예외 상황을 잘 생각해줘야 시간 초과가 나지 않는다.dfs를 통해, k만큼 돌고, 현재 위치가 (r, c)에 도착했으면 해당 경로를 리스트에 담으면 된다. 그런데 사전 순으로 가장 빠른 경로 1개만 알아내면 된다. 따라서 루트를 돌 때 애초에 사전 순(d, l, r, u)으로 돌고, 가장 먼저 도착..

CS/Algorism 2024.06.21

[2024 KAKAO WINTER INTERNSHIP] n + 1 카드게임

https://school.programmers.co.kr/learn/courses/30/lessons/258707 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 가장 중요한 포인트는 이번 라운드에서 새로 뽑는 2개의 카드가 앞으로 필요할지, 필요 없을지 미리 알 수 없다. 따라서 2개의 카드 중 몇 개의 카드를 동전을 주고 가져와야 하는지 알 수 없다. 이 부분이 가장 고민이었다. 그런데!! 다음과 같이 풀면 된다.새로 뽑는 2개의 카드를 별도의 set에 담아두자.그리고 나중에 필요할 때 set에서 필요한 카드를 가져오고 그만큼 coin을 감소시키면 된다!..

CS/Algorism 2024.06.20

[2024 KAKAO WINTER INTERNSHIP] 주사위 고르기

https://school.programmers.co.kr/learn/courses/30/lessons/258709 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 단순한 문제 같았지만 어려웠던 문제이다. 대략적인 아이디어는 다음과 같다.A가 가져갈 주사위의 조합을 만든다.각 조합에 대해, A가 자신의 주사위들을 던졌을 때 나올 수 있는 결과 리스트와 B가 자신의 주사위들을 던졌을 때 나올 수 있는 결과 리스트를 구한다.그리고 A의 결과 리스트와 B의 결과 리스트를 비교해서, A가 이기는 횟수가 가장 많은 조합이 정답이다.위와 같이 계산하면 시간 복잡도는 다음..

CS/Algorism 2024.06.14

[2023 KAKAO BLIND RECRUITMENT] 이모티콘 할인행사

https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 자잘한 조건이 많으므로 이를 놓치지 않고 잘 풀어야 한다.우선 dfs를 사용하여 이모티콘들의 할인 조합을 만든다. 그리고 각 조합마다 탐색하며, 플러스 가입 수와 이모티콘 판매액을 구한다.그리고 플러스 가입자를 최대한 늘리는 것이 우선할 목표이고, 그 다음 목표가 이모티콘 판매액을 늘리는 것이므로 이 목표에 맞게 answer 값을 갱신한다.참고로 dfs를 할 때 배열을 사용할 경우, 하나의 배열은 ..

CS/Algorism 2024.06.14