♟️ 알고리즘 146

[Java][백준] 백준 환경 파일 입력 꿀팁(tip)

항상 알고리즘 문제는 파이썬으로 풀어왔는데,최근에 Java와 Java 프레임워크를 배우고 있다.익숙해지기위해 가끔 Java로 쉬운 알고리즘 쉬운 문제를 풀어보려고한다.   새로운 언어의 코테 문제를 풀려고 할때 (특히 백준) ,내가 먼저 하는 것은 텍스트 파일을 통해 입력을 자동으로 받는 것이다. 이거를 사용하고 안하고의 코드 노가다의 퀄리티가 확 달라진다 !   🤖 텍스트 파일을 통해 입력 자동화백준 문제를 풀다 보면, 해당 예제를 복사해서 붙여 넣는 경우가 많다. 근데 이게 생각보다 진짜 진짜 귀찮다... 이런 귀찮음을 텍스트 파일로 간단하게 해결 가능 하다 !! System.setIn(new FileInputStream("input.txt"));현재 Java 파일 경로에 "input.txt" 파일..

[Python][프로그래머스] 수식 최대화 / 완전탐색, 구현(Lv2)

🖇️ 링크  프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr🗒️ 파이썬 코드 풀이from itertools import permutationsdef solution(expression): answer = 0 # 피연산자(operand) - 연산자(operator) 분리 operator = [] lst_expression = list(expression) for idx,op in enumerate(lst_expression): if op in '+-*': operator.append(op) lst_expression[id..

[MySQL][Leet Code]180. Consecutive Numbers (Medium)

https://leetcode.com/problems/consecutive-numbers/description/?envType=study-plan-v2&envId=top-sql-50🏫  추가 학습 (Window Function) 참고로 OVER()는 윈도우 함수가 적용될 데이터 범위를 정하는 역할이다. 순위 함수 (Ranking Functions)SELECT id, num, ROW_NUMBER() OVER(ORDER BY num) AS row_num, RANK() OVER(ORDER BY num) AS rank_num, DENSE_RANK() OVER(ORDER BY num) AS dense_rank_numFROM Logs;ROW_NUMBER()정렬 순서대로 고유한 순위..

[MySQL][Leet Code] 1789. Primary Department for Each Employee (Easy)

https://leetcode.com/problems/primary-department-for-each-employee/?envType=study-plan-v2&envId=top-sql-50🗒️SQL 코드 풀이 SELECT employee_id , department_id FROM EmployeeWHERE employee_id IN ( SELECT employee_id FROM Employee GROUP BY employee_id HAVING COUNT(*) = 1 )OR primary_flag = "Y" 1. 조건이 2개가 있다. primary_flag 1개 밖에 없는 경우primary_flag가  Y인 경우 2.  이 두가지를 WHERE로..

[Python][프로그래머스] 사칙연산 / DP (Lv4)

🖇️ 링크 https://school.programmers.co.kr/learn/courses/30/lessons/1843 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr🗒️ 파이썬 코드 풀이def solution(arr): # 연산자와 숫자 분리 operator, number = [], [] for i in range(len(arr)): if i % 2 == 1: operator.append(arr[i]) else : number.append(arr[i]) number = list(map(int,number))..

[MySQL][Leet Code] 619. Biggest Single Number

https://leetcode.com/problems/biggest-single-number/description/?envType=study-plan-v2&envId=top-sql-50🗒️SQL 코드 풀이 SELECT MAX(A.num) AS num FROM ( SELECT * FROM MyNumbers GROUP BY num HAVING COUNT(num) = 1 ) A 1. 간단하게 풀이 가능한 문제이다. 2. GROUP BY 와 HAVING으로 중복되는 숫자를 제거한 서브쿼리를 만든다. 3. 해당 서브쿼리를 가져와 MAX 값을 추출한다.  문제 한번 더 돌아보기SELECT * FROM ..

[Python][프로그래머스] 아이템 줍기 / BFS (Lv3)

🖇️ 링크 https://school.programmers.co.kr/learn/courses/30/lessons/87694 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 🙌 내 풀이 과정🗒️ 파이썬 코드 풀이from collections import dequedef solution(rectangle, characterX, characterY, itemX, itemY): # 좌표 생성 (110,110) SIZE = 110 axis = [[-1] * SIZE for _ in range(SIZE)] # 좌표 2배씩 확장 for i in range(len(re..