[프로그래머스]

#문제 간단 정리 #문제 해결 방법 이건 출력중에서 date format으로 맞춰서 출력하는지랑null 값 체크알면된다  날짜함수가 기억이 안난다면 https://dfdfg42.tistory.com/entry/SQL-%EC%A0%95%EB%A6%AC-3-%EB%AC%B8%EC%9E%90-%EC%88%AB%EC%9E%90-%EB%82%A0%EC%A7%9C-%ED%95%A8%EC%88%98-%ED%99%9C%EC%9A%A9%EB%B2%95 SQL 문법정리 3 : 문자, 숫자, 날짜 함수 활용법SQL 문법정리 3 : 문자, 숫자, 날짜 함수 활용법 📌 문자 함수 (Character Functions)1. 대소문자 변환LOWER() / LCASE(): 소문자로 변환 SELECT LOWER('SQL Course..
#문제 간단 정리 #문제 해결 방법 진료과 필터링:WHERE 절을 사용하여 MCDP_CD가 'CS'(흉부외과) 또는 'GS'(일반외과)인 의사들만 선택합니다.이는 문제에서 요구한 "진료과가 흉부외과 또는 일반외과인 의사"를 조회하기 위한 것입니다.필요한 컬럼 선택 및 날짜 형식 지정:SELECT 절에서 의사의 이름(DR_NAME), ID(DR_ID), 진료과 코드(MCDP_CD), 고용일자(HIRE_YMD)를 선택합니다.HIRE_YMD는 DATE_FORMAT 함수를 사용하여 'YYYY-MM-DD' 형식으로 변환합니다.이는 출력되는 날짜가 예시와 동일한 포맷을 가지도록 하기 위함입니다.결과 정렬:ORDER BY 절을 사용하여 결과를 정렬합니다.먼저 HIRE_YMD DESC로 고용일자를 기준으로 내림차순 정..
ROUND 함수는 SQL에서 숫자 값을 지정된 소수 자리까지 반올림하는 데 사용됩니다. 일반적인 구문은 다음과 같습니다:ROUND(number, decimal_places)number: 반올림할 숫자 값입니다.decimal_places: 반올림할 소수 자릿수입니다.예시를 통해 설명하겠습니다:ROUND(123.456, 2)는 123.46이 됩니다. 소수 둘째 자리까지 반올림하므로 셋째 자리인 6이 반올림 기준이 됩니다.ROUND(123.456, 0)는 123이 됩니다. 소수 첫째 자리에서 반올림하여 정수 부분만 남습니다.ROUND(123.456, -1)은 120이 됩니다. 소수점 왼쪽 첫째 자리에서 반올림합니다.  #전체 코드SELECT ROUND(AVG(DAILY_FEE), 0) FROM ..
https://school.programmers.co.kr/learn/courses/30/lessons/81303 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  #문제 간단 정리 각 삭제된 상태를 기록하고 인덱스 조회하는 문제 #문제 해결 방법 가장 쉽게 생각할만 한 것은삭제됫는지 안 삭제됫는지 표기하기 위해서배열로 표시하는 것이다. 이전에 삭제된 항목은 스택에 기록해두는것. 그런데 이렇게 풀게되면 삭제된 항목을 넘어서 그 다음항목을 검색해야 되기 때문에효율성 테스트에서 실패가 뜨게 된다. 때문에 삭제된 항목을 건너 뛸 수 있게다른 자료구조를 사용해야 되는..
#문제 해결 방법 우선, 이름의 배열 크기가 8이기 때문에 각자 이름끼리 맞는지 확인까지 해도완전탐색으로 풀 수 있다는 걸 쉽게 알 수 있다. 때문에 설계를 하자면1. 이름끼리 비교하는 함수를 만든다2. 이걸 전체 순회하는 dfs 함수를 만든다 라는 설계가 가능하다  우선 이름이 맞는지 확인하는 함수는  bool nameCmp(string user, string banned){ if(user.length() != banned.length()){ return false; }else{ for(int i=0; i 로 쉽게 만들 수가 있다.길이가 다르거나*이 아닌다 문자가 다른경우에 false 를 리턴한다  이제 dfs 함수를 만들어야 되는데 이부분이 조금 고민이 된다..
#include #include #include #include using namespace std;long long calculate(long long a, long long b, char op) { if (op == '+') return a + b; if (op == '-') return a - b; if (op == '*') return a * b; return 0;}long long evaluate_expression(vector numbers, vector operators, vector precedence) { for (char op : precedence) { for (int i = 0; i numbers; vector operators; ..
#문제 간단 정리 브루트 포스로는 시간초과와 효율성으로 엉망일게 보이니투 포인터/슬라이딩 윈도우를 활용하자  #문제 해결 방법 우선 사실 구간을 [1,3] [2,4] 이런식으로 출력 하라는 것 자체가어쩌면 투 포인터 사용에 대한 힌트일지도 모른다. 1.우선 전체 보석의 종류의 개수를 센 뒤에.2. 투 포인터를 사용한다 만약 현재 보석의 모든 개수를 포함한다면 left를 증가시키고 보석의 종류가 부족하다면 right 를 증가시키면 된다. 2-1  여기서 보석종류에 따른 개수를map 으로 기록해주는데만약 left가 한칸 올라가서 map에 있는 보석종류의 개수가 0이되었다면전체 보석의 개수를 기록하고 있는 변수를 (currenTypes)를 -1 해주면된다 반대로 right 한칸 올라가서 보석종류의 개수가 0개..
https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  #문제 간단 정리 플로이드 워셜을 사용  #문제 해결 방법 기본적으로 플로이드 워셜을 사용한다.플로이드-워셜 알고리즘을 잘 모른다면 https://namu.wiki/w/%ED%94%8C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%9B%8C%EC%85%9C%20%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98 플로이드-워셜 알고리즘플로이드-워셜 알고리즘 (Floyd-War..
https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  #문제 간단 정리bfs를 활용해서 거리 측정 #문제 해결 방법bfs를 활용해서 가장 먼 노드의 개수를 측정해 주면 된다양방향 노드기 때문에 양방향 설정에 주의하도록 하자그 이외에는 딱히 기본 bfs 기 때문에 주의할 건 없다. #전체 코드#include #include #include #include #include #include using namespace std;int solution(int ..
코딩테스트 연습 - 단속카메라 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  #문제 간단 정리그리디 문제기 때문에구현보다 발상이 더 어렵다 #문제 해결 방법우선 무조건 단속 카메라의 끝나는 지점으로 정렬해서다음에 오는 시작지점이 현재 끝나는 지점에 바깥에 있다면 단속 카메라가 하나 더 필요한거기 때문에  단속카메라 개수를 1개 늘리고마지막 지점 변수를 업데이트 해준다, 마지막 지점으로 체크한다는 발상이 어려운데이 힌트를각 구간을 전부 저장하는건 비효율적이고 너무 구현이 어렵기 때문에더 좋은 방향을 자..