본문 바로가기

전체 글389

[LeetCode] 5. Longest Palindromic Substring LeetCode 5번 Longest Palindromic Substring String, DP, 확장 문제 유명한 팰린드롬 문제 팰린드롬(palindrome)이란? 'aba', 'eye' 처럼 거꾸로 읽어도 똑같은 문장이나 단어를 뜻한다. 과정 주어진 문자열s를 특정 기준에 따라 분리하고 별도로 팰린드롬인지 판별하는 함수를 만들어 분리된 문자열이 팰린드롬인지 체크하였다. 1. check_palindrome() 함수 해당 문자열이 팰린드롬이지 판별하는 함수이다. 1-1) 매개변수로 잘려진 문자열s가 들어오는 경우 def check_palindromic(s): mid = len(s) // 2 if len(s) % 2 == 0: # 짝수 reversed_s = reversed(list(s[mid:])) rev.. 2023. 7. 31.
[LeetCode] 3. Longest Substring Without Repeating Characters LeetCode 3번 Longest Substring Without Repeating Characters string 문제 이 문제는 반복되는 알파벳이 나오지 않는 가장 큰 문자열을 반환하는 문제이다. 코테에서 보통 1번에 나오는 문자열관련 문제들과 유사했다. 과정 1) 처음에는 모든 경우를 구하기 위해서 2중 반복문을 사용했었다. # case 986) Time Limit Exceeded Error!! class Solution: def lengthOfLongestSubstring(self, s: str) -> int: answer = 0 for i in range(len(s)): num = [] cnt = 0 for j in range(i,len(s)): if s[j] in num: num = [s[j.. 2023. 7. 31.
[LeetCode] 2. Add Two Numbers LeetCode 2번 Add Two Numbers math, LinkedList 문제 반대의 값이 저장된 두 개의 LinkedList가 주어지고 원래 두 정수의 합을 다시 LinkedList로 반환하는 문제이다. 1번 예제를 보면 342 + 564 = 807이고 이를 역순한 708이 답이다. 오랜만에 보는 LinkedList 문제였다. 3번 예제 같은 경우엔 9999999 + 0009999 = 10009998 이 되고 이를 역순한 89990001이 답이 되는 것 제약사항은 다음과 같다. 과정 처음에 문제를 읽어봤을 때 무슨 소리인지.. 여러번 봤는데 이해하고 나면 단순한 문제임을 알 수 있다. 합산을 하는 과정은 주어진 LinkedList인 l1과 l2를 처음부터 차례대로 더하면 된다. 왜냐하면 어차피 .. 2023. 7. 31.
[면접을 위한 CS 전공지식 노트] 운영체제 chapter 3) 운영체제 SECTION1 운영체제와 컴퓨터 운영체제(OS, Operation System): 한정된 메모리나 시스템 자원을 효율적으로 분배하여 사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스 펌웨어(firmware): 운영체제와 유사하지만 소프트웨어를 추가로 설치할 수 없는 것 1. 운영체제의 역할과 구조 운영체제의 역할 CPU 스케줄링과 프로세스 관리: CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리 메모리 관리: 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리 디스크 파일 관리: 디스크 파일을 어떠한 방법으로 보관할지 관리 I/O 디바이스 관리: I/O 디바이스들인 마우스, 키보드와 컴퓨터 간에 데이터를 주고받는 것을 관리.. 2023. 7. 28.
[면접을 위한 CS 전공지식 노트] 데이터베이스 chapter 4) 데이터베이스 SECTION1 데이터베이스의 기본 데이터베이스(DB, DataBase) : 일정한 규칙, 규약을 통해 구조화되어 저장되는 데이터의 모음 DBMS(DataBase Management System) : 해당 데이터베이스를 제어, 관리하는 통합 시스템 ex) DMBS(mysql), 응용 프로그램(Node.js, php) 1. 엔터티(entity) 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사 ex) 엔터티(회원), 속성(이름, 아이디, 주소, 전화번호) 약한 엔티티와 강한 엔티티 A가 혼자서 존재하지 못하고 B의 존재 여부에 따라 종속적이라면 A는 약한 엔티티, B는 강한 엔티티 ex) 약한 엔티티(방), 강한 엔티티(건물) 2. 릴레이션(relation).. 2023. 7. 7.
[면접을 위한 CS 전공지식 노트] 디자인 패턴과 프로그래밍 패러다임 chapter 1) 디자인 패턴과 프로그래밍 패러다임 SECTION 1 디자인패턴 디자인 패턴 : 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것 ※ 코딩그라운드 링크: https://www.tutorialspoint.com/compile_java_online.php 1. 싱글톤 패턴(singleton pattern) 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 보통 db 연결 모듈에 많이 사용 장점: 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 떄문에 인스턴스를 생성할 때 드는 비용이 줄어듬 단점: 의존성이 높아짐 -> 의존성 주입을 통해 모듈간의 결합을 느슨하게 만들어 해결 .. 2023. 6. 16.
[프로그래머스] 양과늑대 2022 KAKAO BLIND RECRUITMENT dfs ※ 카카오 공식 해설 https://tech.kakao.com/2022/01/14/2022-kakao-recruitment-round-1/ 2022 카카오 신입 공채 1차 온라인 코딩테스트 for Tech developers 문제해설 지난 2021년 9월 11일 토요일 오후 2시부터 7시까지 5시간 동안 2022 KAKAO BLIND RECRUITMENT 1차 코딩 테스트가 진행되었습니다. 테스트에는 총 7개의 문제가 출제되었으며, 개발 언어는 C++, Java, JavaScript, K tech.kakao.com [문제] 이진트리 문제이다. 늑대가 양보다 많은 경우를 제외하고 최대로 모을 수 있는 양의 개수를 리턴하면 된다. [과정] 항상 bf.. 2023. 5. 12.
[프로그래머스] 코딩 테스트 공부 2022 KAKAP TECH INTERNSHIP 코딩 테스트 공부 DP ※ 카카오 공식 해설 https://tech.kakao.com/2022/07/13/2022-coding-test-summer-internship/ 2022 테크 여름인턴십 코딩테스트 해설 2022년 카카오 여름 인턴십 코딩 테스트가 지난 5월 7일에 5시간에 걸쳐 진행되었습니다. 시간이 부족하여 문제를 풀지 못하는 아쉬움이 없도록 1시간을 늘려 테스트를 진행한 것이 작년과 조금 tech.kakao.com [문제] 문제가 생각보다 어려워서 카카오 해설을 참고했다. 여기서 짚고 넘어갈 부분은 (초기 알고력, 초기 코딩력) 상태에서 시작해 (목표 알고력, 목표 코딩력) 상태에 도달하는 최단 시간을 구하는 문제라는 것 '알고력'과 '코딩력'.. 2023. 5. 12.
반응형