본문 바로가기
WIL&TIL/TIL

20230331 TIL 알고리즘과 아이컨택하기

by 코드뭉치 2023. 3. 31.

1. 알고리즘 특강 정리(추가예정)

 

더보기

코딩테스트 > 알고리즘 연습은 매일매일 무조건 꾸준히

나오는 유형만 나오지만, 난이도가 올라가는 추세

프로그래밍 언어 기초
자료구조/알고리즘 > 핵심 개념
자료구조/알고리즘 기초 문제풀이
자료구조/알고리즘 문제풀이(양치기-양으로 승부) 의 순서로 공부

코딩테스트 유형
1. 눈이 마주치는 순간 풀어야 하는 문제(쉬운문제)
2. 생각을 쪼개서 자료구조/알고리즘의 개념을 녹여내야 하는 문제


배열의 인덱스에 접근하는 것이 일반적으로 상수 시간복잡도

for문 하나 O(n)
 두개면 제곱
 세개면 세제곱

if문은 별로 상관없지만
for문은 많아지면 안좋다.


배열

링크드 리스트

 

장 : 삽입/삭제 
단 : 조회는 비효율적

유동적으로 연결고리를 떼었다가 붙였다가 할 수 있는 자료구조
노드
 - 각 화물칸
 - 맨 앞은 head 맨뒤는 tail
포인터

 

2. 그 외 눈 마주치면 풀어야하는 알고리즘 문제들(눈 마주치자마자 마음 꺾임)

 

def solution(num, k):
    a = str(num)
    return a.index(str(k))+1 if str(k) in a else -1

> 코드 짧게 쓰기 연습

 

 

 

def solution(s1, s2):
    cnt = 0
    for i in s1:
        if i in s2:
            cnt += 1
    return cnt

> 다음에 보면 눈빛컷 가능

 

 

def solution(a):
    b = ""
    for i in a:
        b += i.lower()
    return "".join(sorted(b))

> join, sorted, sort 이것저것 써보면서 뭐가 제일 좋을지 생각해보기

 

 

def solution(numbers):
    numbers.sort(reverse=True)
    return numbers[0]*numbers[1]

> max로 작성했다가 sort가 더 좋아보여서 바꿈

 

 

 

 

댓글