전체 글 36

LeetCode Plan

https://leetcode.com/discuss/general-discussion/460599/blind-75-leetcode-questions Blind 75 LeetCode Questions - LeetCode Discuss Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 상기 링크의 문제들은 선별된 고퀄리티의 문제들입니다. 현재는 Dev-C++와 같은 IDE 상에서 온전히 코드를 처음부터 작성한 후 BOJ와 같은 채점사이트에 copy&paste 하는 스타일에 익숙한 상태..

[삼성SDS] 2023년 상반기 알고리즘 특강 및 SW검정 Professional 합격 후기

1. 지원동기 및 선발 과정 지난 학기 컴퓨터공학부 수업을 수강하면서 공과대학 내부에 붙어있는 위의 포스터를 보고 지원하게 되었습니다. 대학에서 이산수학, 컴퓨터프로그래밍, 자료구조, 알고리즘 등 기본이 되는 과목들을 수강하면서 강의에서 주어지는 과제 정도는 해결할 능력을 갖춘 상태였습니다. 다만 알고리즘 문제해결(Problem Solving, 이하 PS)에 몰입한 경험은 한국정보올림피아드에 참가했던 지난날로 거슬러 올라가야 했습니다. 이번 특강이 학교에서 배우고 익힌 내용들을 정리하고 응용할 수 있을 뿐만 아니라 문제해결능력을 끌어올림과 동시에 더 다양한 지식까지 배울 수 있는 좋은 기회가 될 것이라고 생각했습니다. 입과테스트로는 총 5문제를 해결해야 했습니다. 해당 기간 동안 시간제한 없이 제출할 수..

기록 2023.03.04

[BOJ] 백준 1275번: 커피숍2

https://www.acmicpc.net/problem/1275 1275번: 커피숍2 첫째 줄에 수의 개수 N과 턴의 개수 Q가 주어진다.(1 ≤ N, Q ≤ 100,000) 둘째 줄에는 처음 배열에 들어가 있는 정수 N개가 주어진다. 세 번째 줄에서 Q+2번째 줄까지는 x y a b의 형식으로 x~y까지의 합 www.acmicpc.net 구간에 대한 쿼리를 처리하는 문제입니다. 전형적인 인덱스 트리, 세그먼트 트리 문제입니다. 모든 세그먼트 트리 문제는 indexed tree로 풀 수 있지만 그 역은 성립하지 않습니다. 따라서 indexed tree로 풀이합니다. #include #define ll long long using namespace std; const int SIZETR = 262144;..

알고리즘/BOJ 2023.03.01

[BOJ] 백준 17404번: RGB 거리 2

https://www.acmicpc.net/problem/17404 17404번: RGB거리 2 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net [BOJ] 1149번 RGB 거리 문제에서 조건이 추가된 dp 문제입니다. 1번 집의 색과 N번 집의 색이 서로 같지 않아야 합니다. #include using namespace std; const int INF = 0x3f3f3f3f; int N, RGB[1001][3], dp[1001][3][3], ans; void solve(){ memset(dp, 0x3f, s..

알고리즘/BOJ 2023.02.28

[BOJ] 백준 11051번: 이항 계수 2

https://www.acmicpc.net/problem/11051 11051번: 이항 계수 2 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 1,000, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 중학교 수준의 수학 지식이 필요한 DP 문제입니다. #include using namespace std; const int MOD = 10007; int N, K, dp[1001][1001]; void solve(){ for(int i = 1; i > K; solve(); } dp 문제는 1) table 정의 2) 점화식 찾기 3) 초기값 설정의 3단계로 일관성있게 풀이합니다. 1) table 정의 dp[i][j] : i choose j 2) 점화식 찾기 dp[i][..

알고리즘/BOJ 2023.02.27

[BOJ] 백준 11057번: 오르막 수

https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수 www.acmicpc.net 백준 10844번: 쉬운 계단수와 유사한 문제입니다. #include using namespace std; const int MOD = 10007; int N, res, dp[1001][10]; void solve(){ for(int i = 0; i

알고리즘/BOJ 2023.02.27

[BOJ] 백준 11052번: 카드 구매하기

https://www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 기본 DP 문제입니다. #include using namespace std; int N, P[1001], dp[1001]; void solve(){ for(int i = 1; i P[i]; } solve(); } dp 문제는 1) table 정의 2) 점화식 찾기 3) 초기값 설정의 3단계로 일관성있게 풀이합니다. 1) table 정의 dp[i] : i개의 카드를 구매하기 위해 지불해야 하는 금액의 최댓..

알고리즘/BOJ 2023.02.27