목록PS (95)
DevYoon
link 🔗 https://school.programmers.co.kr/learn/courses/30/lessons/132201?language=mysql 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ NULL 값인 경우를 처리해주는 법을 새로 배웠다! 1️⃣ CASE문으로 조건 걸어 처리하기 SELECT PT_NAME, PT_NO, GEND_CD, AGE, CASE WHEN TLNO IS NULL THEN 'NONE' ELSE TLNO END TLNO FROM PATIENT WHERE AGE
link 🔗 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net ✏️ 이분탐색 문제 ✏️ 분명 while문이 끝나야 하는데 자꾸 답이 안 나오고 돌아가서 당황했다. 찾았을 경우 answer를 1로 바꿔주고 break를 안 써준 게 원인이었다😅 N = int(input()) N_num = list(map(int, input().split())) M = int(input()) M_num = list(ma..
link 🔗 https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net ✏️ 이분탐색 문제! ✏️ 이분탐색을 통해 가장 적절한 절단기 높이를 구하는 문제였다. ✏️ 나무의 높이가 0부터 1000000000 사이이므로, s를 0, e를 가장 높은 나무의 높이로 두었다. ✏️ 이분탐색의 기본 개념을 복습하기에 좋은 문제였다. N, M = map(int, input().split()) trees = list(map(int..
link 🔗 https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 문제에서 제시되는 단계에 따라 처리만 잘 해주면 별 문제 없이 풀 수 있는 문제라고 생각했다. ✏️ 그런데 계속 테스트케이스 3번에서 실패했다...😭 ✏️ 디버깅의 디버깅의 디버깅을 거치다 이유를 발견했는데, 인덱스 0과 -1에 .이 왔을 경우를 처리해줄 때 if와 else if로 처리해버려서 인덱스 0만 .인 경우와 인덱스 -1만 .인 경우는 처리하지만, 인덱스 0과 -1 모두..
link 🔗 https://school.programmers.co.kr/learn/courses/30/lessons/64061?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🧸 인형을 크레인에서 뽑아주고, 바구니의 마지막 원소와 검사하여 삭제해주는 순으로 로직을 실행하였다. 🧸 인형을 뽑는 경우, 열의 0번째 인덱스부터 검사하여 0이 아닌 수가 나오면 맨 위의 인형이므로 그 값을 return 해준다 🧸 그 후 바구니 검사 함수로 값을 넣어주어 마지막 원소와 비교, 같으면 마지막 원소를 삭제, 같지 않으면 뽑은 인형을 바..
link 🔗 https://www.acmicpc.net/problem/16928 16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으 www.acmicpc.net 🐍 사다리나 뱀을 만나면 위치의 변화가 일어남 🐍 1에서 출발하여 100에 도착하기까지 주사위를 최소로 굴릴 때를 찾는 문제 🐍 간단한 BFS 문제로, 이동한 칸이 사다리나 뱀이 존재하는지 편하게 탐색하기 위해 딕셔너리로 사다리와 뱀의 정보를 저장했다. import sys from collections import deque def BFS..
link 🔗 https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 성격 타입을 객체로 생성하고, 설문 결과에 따른 점수를 해당 프로퍼티의 값으로 더해주었다. ✏️ Object.entries()를 통해 객체의 key, value를 배열로 전환하고, 2개씩 나누어 비교해주었다. function solution(survey, choices) { var answer = ''; personal = { 'R':0, 'T':0, 'C':0, 'F':0, ..
link 🔗 https://www.acmicpc.net/problem/1043 1043번: 거짓말 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 www.acmicpc.net ❗ 주목한 점 ✏️ 진실을 알게 된 사람과 같은 파티에 가면 진실을 알게 된다 ✏️ 1이 진실을 알고 있는 사람이고, 1과 4가 같은 파티에 간 경우, 4가 참여한 모든 파티가 거짓말을 할 수 없는 파티가 된다. 1️⃣ 3% 대에서 오답난 코드 import sys input = sys.stdin.readline def knowTruth(y): for idx in range(1, len(party..
link 🔗 https://www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 🦈 파이어볼을 모두 합쳐 나눌 때, 0이면 소멸된다는 조건을 적용하지 않아서 답이 한동안 안 나왔었다. 🦈 평소와 달리 2차원 board 리스트를 생성할 때 0이 아닌 []으로 생성해줬는데, 이를 고려하지 않아서 인덱스 에러가 나왔었다. import sys input = sys.stdin.readline dir = [(-1, 0), (-1, 1)..
link 🔗 https://www.acmicpc.net/problem/7490 7490번: 0 만들기 각 테스트 케이스에 대해 ASCII 순서에 따라 결과가 0이 되는 모든 수식을 출력한다. 각 테스트 케이스의 결과는 한 줄을 띄워 구분한다. www.acmicpc.net 📌 DFS로 +, -, 공백의 경우를 타고 들어가주었다. 📌 DFS 내부에서 계산 결과를 가지고 다녀보았는데, 생각처럼 계산 결과가 잘 나오지 않았다. 📌 따라서 마지막 숫자를 모두 사용했을 때, 만들어진 문자열을 eval 메소드를 통해 계산하고, 값이 0이면 res 리스트에 추가해주는 식으로 해결하였다. 📌 문자열 내부에서 공백을 사용한 경우를 대비해 replace 메소드로 공백을 없애준 후 eval 메소드를 사용하였다. def DFS..