반응형

2025/02 10

[프로그래머스/C언어] 완전 범죄, DP로 풀이

2025 프로그래머스 코드 챌린지 2차 예선에 출제되었던 문제인 '완전 범죄'를 동적계획법(DP, Dynamic Programming)을 이용해서 풀어보았다. https://school.programmers.co.kr/learn/courses/30/lessons/389480 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  오랜만에 DP 문제를 풀다 보니 조금 헤매기도 했는데, 과거에 풀었던 백준 문제와 유사했기 때문에 점화식을 약간 참고해서 풀이하니 금방 해결할 수 있었다. 참고했던 백준 문제는 아래와 같다.https://programming-diary-ina.tistory.com/37 [백준 1286..

[Kotlin / Spring-Boot] Main Server에서 Following 요청 처리

메인 서버에서 팔로잉 요청을 처리하는 파트를 맡아 코드를 작성했다. following server가 있었기 때문에, 메인 서버에서 할 일은 WebClient로 following server에 필요한 데이터와 함께 작업을 요청하는 정도만 수행하면 된다. 따라서 WebClient 작동 방식만 알면 간단한 작업이 된다. WebClient는 HTTP request를 수행하기 위한 client 모듈 중 하나이다. 자세한 사용 방법은 아래 공식 문서를 참고하면 알 수 있다. https://docs.spring.io/spring-framework/reference/web/webflux-webclient.html WebClient :: Spring FrameworkSpring WebFlux includes a clie..

[MySQL] SQL Tutorial Course - Advanced Part

아래 영상을 시청하며 공부한 MySQL 공부 내용이다.https://www.youtube.com/watch?v=vgIc4ctNFbc  1. 데이터베이스 및 테이블 생성 및 수정CREATE DATABASE {database_name} : 새로운 데이터베이스 생성CREATE DATABASE db;USE db; #USE문으로 해당 데이터베이스 사용CREATE TABLE {new_table_name} AS SELECT {col_name} FROM {table_name} : 기존 table을 이용하여 새로운 table 생성CREATE TABLE city2 AS SELECT * FROM city1CREATE TABLE {table_name} : 완전히 새로운 table 생성CREATE TABLE test2 { ..

[MySQL] SQL Tutorial Course - Basic Part

아래 영상을 시청하며 공부한 MySQL 공부 내용이다.https://www.youtube.com/watch?v=vgIc4ctNFbc  1. SQL의 분류DML (Data Manipulation Language) : 데이터 조작 언어 (SELECT, INSERT, UPDATE, DELETE)DDL (Data Definition Language) : 데이터 정의 언어 (CREATE, DROP, ALTER),  데이터베이서 개체를 생성/삭제/변경하는 역할을 한다.DCL (Data Control Language) : 데이터 제어 언어 (GRANT, REVOKE), 권한 설정 관련된 역할을 한다.  2. 기본 명령문SHOW DATABASE : 연결된 데이터베이스 보여주기USE {database_name} : 해당..

[프로그래머스 / C언어] 지게차와 크레인 BFS로 풀기

프로그래머스 코딩테스트 문제 중, 지게차와 크레인 문제를 BFS를 활용해서 풀어보았다. https://school.programmers.co.kr/learn/courses/30/lessons/388353 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  BFS와 구현에 대한 설명은, 아래 내 블로그 글을 통해 확인할 수 있다.https://programming-diary-ina.tistory.com/30 [백준 1260번/C언어] DFS와 BFS, Queue로 풀이백준 1260번 문제를 큐(Queue)로 풀어보았습니다. 백준 1260번: https://www.acmicpc.net/problem/1260 ..

[프로그래머스 / C언어] 서버 증설 횟수

프로그래머스 서버 증설 횟수 문제를 C언어로 풀어보았다.https://school.programmers.co.kr/learn/courses/30/lessons/389479 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  어렵지 않은 문제이므로, 간단한 로직만 기록하려 한다.servers 배열에, 각 시간대(index) 별로 증설된 서버 개수를 저장한다. cur_server은 현재 운영 중인 서버의 개수이다. 사용자의 수를 담은 players 배열을 순회하며, 현재 서버가 감당할 수 있는 사용자 수(cur_server * m) 이상의 사용자가 있는 경우 서버를 증설해 준다. 또한, 증설된 서버의 지속 시..

[프로그래머스 / C언어] 코딩테스트 '괄호 회전하기' 문제

프로그래머스 코딩테스트 연습 문제 중 '괄호 회전하기' 문제를 풀어보았다.https://school.programmers.co.kr/learn/courses/30/lessons/76502# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  비슷한 문제를 예전에 풀었던 기억이 있는데, 아마 괄호 회전하기가 아니라 그냥 괄호가 올바른지 확인하는 문제였던 것 같다. 비슷한 문제를 쉽게 풀었던 기억이 있어 문제 풀이를 업로드하지 않으려 했으나, 간과했던 부분이 있어 올리게 되었다.  처음에는 stack을 사용하지 않고, 크기가 3인 int array를 선언해서, 각각의 닫는 괄호가 여는 괄호보다 먼저 나오지 않..

[프로그래머스/C언어] 연속 부분 수열

프로그래머스 코딩테스트 연습 문제 중, 연속 부분 수열 문제를 풀어보았다. https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해당 문제는 주어진 수열이 끝과 처음이 다시 연결된 수열이라고 가정하고, 부분 수열의 합 중 중복되지 않는 것의 개수를 구하는 문제이다. 조금이라도 더 간단한 방법을 찾으려 했지만, 결국 모든 경우를 다 구하고 중복을 확인하는 수밖에 없다. 그래도 합을 구하는 과정이라도 좀 더 간단하게 하고자, 크기가 n인 부분 수열의 합을 구하기 위해 크기가 n-1인 부분 수열의 합..

[프로그래머스 / C언어] 가장 많이 받은 선물

https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 프로그래머스 코딩테스트 Lv.1 문제인 '가장 많이 받은 선물' 문제를 풀어보았다. 질문에는 Lv.1 문제가 아닌 것 같다는 말이 나오고 Lv.1 문제에서 정답률도 가장 낮을 정도로 복잡해 보이나, 사실 크게 복잡한 알고리즘이나 자료구조가 필요한 영역은 아니다.문제를 풀 당시, 알고리즘 관련 대회를 준비 중에 있어 사소한 공간복잡도보다는 시간복잡도와 빠른 코드 작성에 초점을 맞춰 작성하였다. (malloc 사용 대신 제한된 최대 크기의 배열을..

[프로그래머스 / C언어] 햄버거 만들기

프로그래머스 코딩테스트 연습 문제인, 햄버거 만들기 문제를 풀어보았습니다.https://school.programmers.co.kr/learn/courses/30/lessons/133502# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr stack의 개념을 알고 있으면 쉽게 풀 수 있는 문제입니다. 다만, c언어에는 스택이 구현되어 있지 않기 때문에, 저는 그냥 top 변수 하나와 일반 int 배열을 활용하여 스택처럼 활용해주었습니다. 이 문제는 문제에서 힌트를 얻으면 더 쉽게 접근이 가능한 문제입니다. 문제에서 여섯 번째 재료가 쌓였을 때, 세 번째 재료부터 여섯 번째 재료를 이용하여 햄버거를 포장하..

728x90
반응형