본문 바로가기

728x90
SMALL

programmers

(34)
프로그래머스 [연습문제 / 문자열 나누기](C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 문자열 나누기문제 링크: 문제 보기문제 설명:하나의 문자열을 왼쪽부터 읽으면서, 처음 나온 문자와 다른 문자의 수가 같아질 때 분리하여 나눌 수 있는 문자열 개수를 구하는 문제입니다. 이 과정을 반복하여 전체 문자열을 다 나눌 수 있습니다.문제 해결 코드#include #include using namespace std;int solution(string s) { int answer = 0; for (int i = 0; i 코드 설명핵심 알고리즘: 왼쪽에서부터 순차적으로 탐색하며 같은 문자 수와 다른 문자 수가 같아지는 순간 분리하는 방식으로 해결합니다.구현 세부사항:cnt1은 현재 구간의 기준 문자의 등장 횟수, cnt2는 나머지 문자의 등장 횟수입니다.두 값..
프로그래머스 [연습문제 / 가장 가까운 같은 글자](C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 가장 가까운 같은 글자문제 링크: 문제 보기문제 설명:문자열 s의 각 문자를 왼쪽에서부터 순서대로 확인하며, 이전에 등장한 같은 문자가 있다면 가장 가까운 위치의 거리(차이)를 저장하고, 없다면 -1을 저장하는 문제입니다.문제 해결 코드#include #include using namespace std;int alpha[26]; // 각 문자 마지막 위치 저장vector solution(string s) { vector answer; for (int i = 0; i 코드 설명핵심 알고리즘: 각 문자의 마지막 등장 위치를 저장하고, 현재 인덱스와의 차이를 통해 거리를 계산합니다.구현 세부사항:alpha 배열은 알파벳마다 마지막으로 등장한 인덱스를 저장합니다. 0이면 처음..
프로그래머스 [2023 KAKAO BLIND RECRUITMENT / 개인정보 수집 유효기간](C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 개인정보 수집 유효기간문제 링크: 문제 보기문제 설명:개인정보 수집일과 약관별 유효기간이 주어졌을 때, 현재 날짜를 기준으로 유효기간이 만료된 개인정보의 번호를 찾는 문제입니다. 날짜 계산 시, 모든 달을 28일로 고정하여 계산해야 합니다.문제 해결 코드#include #include #include #include using namespace std;int alpha[26]; // 각 약관의 유효기간 저장// 날짜를 일(day) 단위로 변환하는 함수int convertToDays(string date) { istringstream s(date); string sb; int i = 1, totalDays = 0; while (getline(s, sb, '.'..
프로그래머스 [연습문제 / 둘만의 암호](C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 둘만의 암호문제 링크: 문제 보기문제 설명:주어진 문자열 s의 각 문자를 index만큼 이동시켜 새로운 암호를 생성하는 문제입니다. 단, 특정 문자는 제외하고 이동해야 하므로 이를 고려하여 변환해야 합니다.문제 해결 코드#include #include #include using namespace std;int skipAlpha[26]; // 제외할 알파벳 여부 저장string solution(string s, string skip, int index) { string answer = ""; // 제외할 알파벳을 기록 for (char ch : skip) { skipAlpha[ch - 'a'] = 1; } // 문자열 변환 for (ch..
프로그래머스 [2025 프로그래머스 코드챌린지 1차 예선 / 유연근무제](C++) -yes6686- 티스토리 프로그래머스 문제 풀이: 출퇴근 기록 검증문제 링크: 문제 보기문제 설명:각 직원의 근무 일정과 출퇴근 기록이 주어질 때, 정해진 출근 시간보다 늦지 않게 출근한 직원의 수를 구하는 문제입니다. 근무 일정은 평일(월~금)만 적용되며, 주말(토, 일)에는 출퇴근 기록을 확인하지 않습니다.문제 해결 코드#include #include using namespace std;int solution(vector schedules, vector> timelogs, int startday) { int answer = 0; for (int i = 0; i = 60) { scheduledTime += 40; } if (sch..
프로그래머스 [SUM, MAX, MIN / 조건에 맞는 아이템들의 가격의 총합 구하기](MySQL) -yes6686- 티스토리 프로그래머스 SQL 문제: 전설 등급 아이템 가격 총합 조회하기문제 설명:ITEM_INFO 테이블에서 RARITY가 'LEGEND'인 아이템의 가격(PRICE) 총합을 조회하는 SQL 쿼리를 작성하세요.문제 해결 SQLSELECT SUM(PRICE) AS TOTAL_PRICEFROM ITEM_INFOWHERE RARITY = 'LEGEND';코드 설명합계 계산: SUM(PRICE)을 사용하여 전설 등급('LEGEND') 아이템의 가격 총합을 계산.조건 필터링: WHERE RARITY = 'LEGEND'를 사용하여 전설 등급 아이템만 선택.컬럼명 변경: AS TOTAL_PRICE를 사용하여 결과 컬럼명을 TOTAL_PRICE로 지정.실행 결과 예시TOTAL_PRICE1250000위와 같은 결과가 나오며, ..
프로그래머스 [SUM, MAX, MIN / 가격이 제일 비싼 식품의 정보 출력하기](MySQL) -yes6686- 티스토리 프로그래머스 SQL 문제: 가장 비싼 식품 조회하기문제 설명:FOOD_PRODUCT 테이블에서 가장 비싼 가격(PRICE)을 가진 식품의 모든 정보를 조회하는 SQL 쿼리를 작성하세요.문제 해결 SQLSELECT *FROM FOOD_PRODUCTWHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT);코드 설명최대값 조회: MAX(PRICE)를 사용하여 FOOD_PRODUCT 테이블에서 가장 비싼 가격을 찾음.서브쿼리 활용: WHERE PRICE = (SELECT MAX(PRICE) FROM FOOD_PRODUCT)를 사용하여 가장 비싼 가격을 가진 행을 필터링.모든 정보 조회: SELECT *를 사용하여 해당 식품의 전체 컬럼을 조회.실행 결과 예시PRODUCT_ID..
프로그래머스 [SUM, MAX, MIN / 중복 제거하기](MySQL) -yes6686- 티스토리 프로그래머스 SQL 문제: 보호소에 들어온 동물의 이름 개수 조회하기문제 설명:ANIMAL_INS 테이블에서 보호소에 들어온 동물들의 서로 다른 이름의 개수를 조회하는 SQL 쿼리를 작성하세요.문제 해결 SQLSELECT COUNT(DISTINCT NAME) AS 이름_개수FROM ANIMAL_INS;코드 설명중복 제거: COUNT(DISTINCT NAME)을 사용하여 중복된 이름을 제외하고 개수를 계산.NULL 값 제외: DISTINCT는 자동으로 NULL 값을 제외하므로, 이름이 없는 경우는 계산되지 않음.컬럼명 변경: AS 이름_개수를 사용하여 출력 컬럼명을 이름_개수로 지정.실행 결과 예시이름_개수53위와 같은 결과가 나오며, 보호소에 들어온 동물들 중 서로 다른 이름의 개수가 53개라고 가정한 ..

728x90
LIST