본문 바로가기

728x90
SMALL

programmers

(38)
프로그래머스 [연습문제 / 크기가 작은 부분 문자열](C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 크기가 작은 부분문자열문제 링크: 문제 보기문제 설명:문자열 t에서 길이가 p.size()인 부분 문자열들을 추출하여, 숫자로 변환한 후 p보다 작거나 같은 값의 개수를 찾는 문제입니다.문제 해결 코드#include #include using namespace std;int solution(string t, string p) { int answer = 0; int p_len = p.size(); long long p_value = stoll(p); // 기준값을 정수로 변환 for (int i = 0; i 코드 설명핵심 알고리즘: 문자열의 부분 문자열을 추출하고, 이를 정수로 변환한 후 비교하는 방식으로 해결합니다.구현 세부사항:stoll 함수를 사용하여 문..
프로그래머스 [연습문제 / 대충 만든 자판](C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 대충 만든 자판문제 링크: 문제 보기문제 설명:각 키에 여러 개의 문자가 할당된 자판이 주어졌을 때, 주어진 단어를 입력하는 데 필요한 최소 키 입력 횟수를 구하는 문제입니다. 특정 문자를 입력할 수 없는 경우 -1을 반환해야 합니다.문제 해결 코드#include #include #include using namespace std;int alpha[26]; // 각 알파벳의 최소 입력 횟수 저장vector solution(vector keymap, vector targets) { vector answer; // 각 문자에 대한 최소 입력 횟수 초기화 fill(alpha, alpha + 26, 1e9); for (string &key : keym..
프로그래머스 [연습문제 / 덧칠하기](C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 덧칠하기문제 링크: 문제 보기문제 설명:길이가 n인 벽이 주어질 때, 특정 구간(section)을 칠해야 합니다. 롤러의 길이는 m이며, 최소한의 롤러 사용 횟수로 벽을 모두 칠하는 방법을 구하는 문제입니다.문제 해결 코드#include #include using namespace std;int solution(int n, int m, vector section) { int answer = 0; int lastPainted = 0; // 마지막으로 롤러를 사용한 위치 for (int i = 0; i lastPainted) { // 롤러를 새로 칠해야 하는 경우 answer++; lastPainted = sectio..
프로그래머스 [[PCCE 기출문제] 10번 / 데이터 분석](C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 250121 [데이터 필터링 및 정렬]문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/250121문제 설명:주어진 2차원 벡터 data에서 특정 기준 ext를 사용하여 val_ext 미만의 데이터만 필터링한 후, 주어진 기준 sort_by에 따라 정렬하는 문제입니다.문제 해결 코드#include #include #include using namespace std;int sort_index; // 정렬 기준 인덱스// 비교 함수 (사용자가 정한 열을 기준으로 정렬)bool compare(vector& a, vector& b) { return a[sort_index] > solution(vector> data,..
프로그래머스 [[PCCE 기출문제] 9번 / 이웃한 칸](C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 250125 [붕대 감기]문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/250125문제 설명:주어진 board에서 특정 위치 (h, w)를 기준으로 상하좌우에 같은 값이 있는 경우의 개수를 반환하는 문제입니다.문제 해결 코드#include #include using namespace std;int dx[4] = {0, 0, 1, -1}; // 상, 하, 좌, 우int dy[4] = {1, -1, 0, 0};int solution(vector> board, int h, int w) { int answer = 0; for (int i = 0; i = board.size() || ny >= boar..
프로그래머스 [연습문제 / 공원 산책](C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 공원 산책문제 링크: 문제 보기문제 설명:주어진 공원 지도에서 시작 위치('S')를 찾아, 지정된 이동 경로에 따라 장애물('X')을 피하며 이동한 후 최종 위치를 반환하는 문제입니다.문제 해결 코드#include #include #include using namespace std;vector solution(vector park, vector routes) { vector answer; int sx = 0, sy = 0; int r = park.size(); int c = park[0].size(); // 시작 위치 찾기 for (int i = 0; i = r || ny >= c || park[nx][ny] == 'X') { ..
프로그래머스 [연습문제 / 추억 점수](C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 추억 점수문제 링크: 문제 보기문제 설명:각 인물의 그리움 점수가 주어질 때, 여러 장의 사진에서 등장하는 인물들의 그리움 점수 합을 계산하는 문제입니다. 각 사진에 대해 포함된 인물들의 점수를 더해 리스트로 반환해야 합니다.문제 해결 코드#include #include #include using namespace std;map mp; // 이름별 그리움 점수를 저장하는 맵vector solution(vector name, vector yearning, vector> photo) { vector answer; // 이름별 그리움 점수를 맵에 저장 for (int i = 0; i & photo_group : photo) { int sum = 0;..
프로그래머스 [메뉴 리뉴얼](C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 메뉴 리뉴얼문제 링크: 문제 보기문제 설명:각 손님이 주문한 단품 메뉴 리스트가 주어졌을 때, 특정 개수의 코스 요리 조합을 찾아 가장 많이 주문된 메뉴를 선정하는 문제입니다. 단, 최소 2명 이상의 손님이 주문한 조합만 유효합니다.문제 해결 코드#include #include #include #include #include using namespace std;int visited[11]; // 방문 여부 체크 배열int check[11]; // 특정 길이의 조합을 만들지 체크unordered_map mp; // 메뉴 조합 개수 저장// 백트래킹을 이용한 조합 생성void bt(int d, string s) { for (int i = d; i solution(vecto..

728x90
LIST