분류 전체보기 277

[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..

[1분 면접] record를 DTO로 사용하는 이유

📌 면접 답변record 불변성 (Immutable)을 기본으로 한다.기본 클래스와 달리 모든 필드가 final 키워드로 선언필드 선언으로 자동으로 생성자, getter, equals(), hashCode(), toString() 등의 메서드 자동으로 생성객체 생성 후 변경 불가능단순히 데이터 캡슐화 목적으로 사용 기존 코드// 기존 클래스 기반 DTOpublic class MemberDto { private final String name; private final String email; private final int age; public MemberDto(String name, String email, int age) { this.name = name; this.email = email; ..

[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))..

[1분 면접] HTTPS란 무엇인가 ?

📌 면접 답변HTTP는 클라이언트와 서버 간 통신을 위한 통신 규약하지만 HTTP는 암호화되지 않는 평문 데이터를 전송하여 제3자가 정보 조회 위험 이러한 문제를 해결하기 위해 HTTPS 등장HTTPS는 데이터 암호화를 추가하여 암호화된 데이터를 전송   HTTPS 동작 원리 (TLS 핸드쉐이크)1. Client Hello (클라이언트의 최초 요청) 클라이언트는 서버에게 최초 요청할 때, 암호화 알고리즘, 프로토콜 버전 등을 무작위 값으로 전달 2. Server Hello (서버 응답)서버는 클라이언트에게 암호화 알고리즘, 인증서, 무작위 값 전달 3. 클라이언트 인증서 검증 클라이언트는 서버의 인증서를 CA 공개키로 복호화하여 검증 4. Pre-Master Secret 생성클라이언트는 Pre-Mast..

[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 ..

[1분 면접] WAS와 웹 서버의 차이점

📌 면접 답변   Web Server (WS, 웹 서버)정적 컨텐츠 (HTML, CSS, JS, 이미지 등)을 제공동적 컨텐츠 요청 시 WAS로 전달대표적인 웹 서버로 Apache, Nginx 등이 있음  Web Apllication Server서블릿 컨테이너 기능 제공 (Java 기준)동적으로 컨텐츠 생성HTTP 요청을 받아 애플리케이션 로직 실행JSP, Servlet, Spring, Django, Node.js 같은 프레임워크 실행하는 환경 포함대표적인 WAS로는 Tomcat이 있음 Spring Boot는 내장 Tomcat이 있음WAS는 실행 활경으로, WAS 안에 프레임워크 포함   WAS가 너무 많은 역할을 담당하면 과부화 문제가 발생한다.때문에 WS와 WAS를 분리하고, WAS는 중요한 애플리..

[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..