본문 바로가기

알고리즘219

[Javascript/PGS] Lv.3 : 다단계 칫솔 판매 https://school.programmers.co.kr/learn/courses/30/lessons/77486 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨3해시맵 구현 문제.본인의 이득은 90%이고, 부모에게 10%를 넘겨주면 되는데이 때 무작정 0.9와 0.1을 곱하면 안되고, 10%를 구한 뒤 그 차를 이용해야 한다.!! (자식 몫 = 돈 - 돈*10%)반올림/내림이 일어나면서 수가 바뀌기 때문에..주의하기 ㅎㅎ 처음에 제출했을 때, 테케 11번 ~ 13번이 시간초과가 걸려서 뭐지? 싶었는데while문에서 종료 조건을 하나 더 추가해주니 통과되었다! 처음에는 최상위 부모에 다다.. 2025. 5. 8.
[Javascript/PGS] Lv.2 : n^2 배열 자르기 https://school.programmers.co.kr/learn/courses/30/lessons/87390?language=javascript# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 2 js i=0일 때, 0~n-1 : 1,2,3,4 ...i=1일 때, n ~ 2n-1 : 2,2,3,4, ...i=2일 때, 2n ~ 3n-1 : 3,3,3,4 ...위에서 규칙을 찾으면, i줄에서 i번째까지의 수는 i+1이고, 그 다음 위치부터는 1씩 늘어난다.이걸 한 줄 한 줄 마다 적용해서 풀었더니...테케는 다 맞았는데, 코드도 복잡했고 제출 시 절반 정도 틀리게 나왔다 🥹 1. .. 2025. 5. 8.
[Javascript/PGS] Lv.3 : 경주로 건설 (BFS) https://school.programmers.co.kr/learn/courses/30/lessons/67259 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 3.BFS + 삼차원 배열...ㅋㅋㅋㅋㅋ하 ㅠㅠ 이차원배열로 풀다가 삽질하느라 1시간 걸림카카오 기출이라 그런지, 구현하면서 신경써야 할 내용이 정말정말 많았다.삼차원배열 bfs에서 방향에 따라 최솟값을 저장해줘야 하는데,출발점에서는 방향이 상관없기 때문에 이것도 분기처리를 해줘야 했음!!그리고 코너에서는 코너 도로 + 직진도로 모두 필요하기 때문에, 600을 더해줘야 한다. 개인적으로 함정이 많았던 문제라고 생각실력 증진하기 .. 2025. 5. 7.
[MySQL/PGS] Lv.2 : 부모의 형질을 모두 가지는 대장균 찾기 https://school.programmers.co.kr/learn/courses/30/lessons/301647 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 2.mysql, 비트 연산자 사용 문제 (&, |) 처음에 안 풀려서 풀이를 찾아봤는데,, 비트연산자를 쓰라는거임?근데 왜 쓰는건지 이해가 안돼서 고민하다가 결국 이해해버렸다 *ㅁ*! 그니까부모 bit 가 1이면 자식이 항상 1이어야 하고 (1&1 = 1)부모가 0이면, 자식은 1이든 0이든 상관없으니 (0&1 = 0, 0&0 = 0)부모 & 자식 연산 결과값 => 부모가 되면, 자식은 부모의 모든 1을 포함하는 것이다‼️ex.. 2025. 5. 7.
[MySQL/PGS] Lv.2 : 연도별 대장균 크기의 편차 구하기 🪟 https://school.programmers.co.kr/learn/courses/30/lessons/299310 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr프로그래머스 레벨 2.처음에는 서브쿼리를 통해서 테이블 2개를 새로 생성하고, 조인을 통해 해결했다. 근데 너무 비효율적인 것 같아서 방법을 찾아보니 '윈도우 함수'라는 걸 사용하면 된다고 함.그래서 MAX() OVER(PARTITION BY ...) 를 활용하여 다시 풀어보았다!윈도우 함수를 사용하면 집계 함수를 행별로 계산하면서도 그룹화를 유지할 수 있다고 한다. 대장균 시리즈 풀면서 새로운 함수 많이 알아갑니다,, 나의 풀이 (1)sel.. 2025. 5. 7.
[MySQL/PGS] Lv.1 : 특정 형질을 가지는 대장균 찾기 프로그래머스 레벨 1 (이게 왜....)mysql이진수 변환을 활용해야 하는 문제. 나는 BIN 함수를 이용해서 풀이했다.BIN()은 반환값이 string이기 때문에, substr로 인덱스 접근하면 됨근데 이것보다 간단한 풀이가 많았다,,, 비트연산자 활용 풀이 (select-from 생략)WHERE GENOTYPE & 2 = 0 AND ( (GENOTYPE & 1) > 0 OR (GENOTYPE & 4) > 0 ); 나의 풀이select count(*) as COUNTfrom ecoli_datawhere substr(bin(GENOTYPE),length(bin(GENOTYPE))-1,1) = 0 and (substr(bin(GENOTYPE),length(bin(GENOTYPE)),1.. 2025. 5. 7.
728x90
반응형