Code Monkey home page Code Monkey logo

codingtest-study2's Introduction

알고리즘 문제풀이

풀이 목록

# 날짜 난이도 문제이름 링크 풀이 완료 Best
1 22-04-07 Silver II 마인크래프트 문제 마인크래프트.py 이호산
2 22-04-07 Silver III 스택 수열 문제 스택수열_1874.py 양해찬
3 22-04-07 Silver I 경로 찾기 문제 BOJ_11403_경로_찾기 김은혜
4 22-04-07 Gold V AC 문제 AC.py 이호산
5 22-04-07 Gold IV DSLR 문제 백준 9019 배서영
6 22-04-11 Level 2 K진수에서 소수 개수 구하기 문제 k진수에서소수개수구하기.py 선혜주
7 22-04-11 Level 2 n^2 배열 자르기 문제 n^2배열자르기.py 선혜주
8 22-04-11 Level 2 주차요금 계산 문제 주차요금.py 이호산
9 22-04-11 Level 3 디스크 컨트롤러 문제 디스크 컨트롤러/sol.py 배서영
10 22-04-11 Level 3 정수삼각형 문제 정수삼각형.py 이호산
11 22-04-14 Gold V 연구소 문제 14502.py 선혜주
12 22-04-14 Gold III 파일 합치기 문제 - -
13 22-04-14 Silver II 잃어버린 괄호 문제 잃어버린괄호_1541.py 양해찬
14 22-04-14 Silver II 연속합 문제 BOJ_1912_연속합 김은혜
15 22-04-14 Silver I 신입사원 문제 BOJ_1946_신입_사원 김은혜
16 22-04-18 Level 2 멀쩡한 사각형 문제 - -
17 22-04-18 Level 2 뉴스 클러스터링 문제 PRGRMRS_17677_뉴스_클러스터링 김은혜
18 22-04-18 Level 2 배달 문제 PRGRMRS_12978_배달 김은혜
19 22-04-18 Level 3 표 편집 문제 표편집.py 선혜주
20 22-04-18 Level 3 불량 사용자 문제 불량사용자.py 선혜주
21 22-04-25 Silver III 퇴사 문제 퇴사.md 이호산
22 22-04-25 Silver II 스타트와 링크 문제 14889.py 배서영
23 22-04-25 Silver I 연산자 끼워넣기 문제 연산자.md 이호산
24 22-04-25 Gold V 파이프 옮기기 1 문제 파이프옮기기 이호산
25 22-04-25 Gold III 카드 게임 문제 카드게임 이호산
26 22-05-02 Level 2 수식최대화 문제 수식 최대화.py 배서영
27 22-05-02 Level 2 게임 맵 최단거리 문제 게임맵최단거리.py 선혜주
28 22-05-02 Level 2 삼각달팽이 문제 .삼각달팽이.py 이호산
29 22-05-02 Level 3 합승 택시 요금 문제 PRGRMRS_72413_합승_택시_요금 김은혜
30 22-05-02 Level 3 양과 늑대 문제 양과늑대.py 이호산
31 22-05-16 Silver III 배열 복원하기 문제 16967.py 선혜주
32 22-05-16 Silver III 색종이 만들기 문제 BOJ_2630_색종이_만들기 김은혜
33 22-05-16 Silver I 1로 만들기 2 문제 12852.py 배서영
34 22-05-16 Gold V 최단 경로 문제 BOJ_1753_최단경로 김은혜
35 22-05-16 Gold V N-Queen 문제 9663.py 선혜주
36 22-05-19 Level 2 124 나라의 숫자 문제 124나라의숫자.py 선혜주
37 22-05-19 Level 2 더 맵게 문제 더맵게.py 이호산
38 22-05-19 Level 2 프린터 문제 프린터.py 이호산
39 22-05-19 Level 3 보석 쇼핑 문제 PRGRMRS_67258_보석_쇼핑 김은혜
40 22-05-19 Level 3 등굣길 문제 등굣길.py 선혜주
41 22-05-23 Silver II LCD Test 문제 BOJ_2290_LCD_Test 김은혜
42 22-05-23 Silver II 점프 문제 점프.py 이호산
43 22-05-23 Silver I 음식물 피하기 문제 1743.py 선혜주
44 22-05-23 Gold V 신기한 소수 문제 BOJ_2023_신기한_소수 김은혜
45 22-05-23 Gold IV 가르침 문제 가르침.py 이호산
46 22-05-26 Level 2 거리두기 확인하기 문제 거리두기확인하기.py 선혜주
47 22-05-26 Level 2 다음 큰 숫자 문제 PRGRMRS_12911_다음_큰_숫자 김은혜
48 22-05-26 Level 2 땅따먹기 문제 땅따먹기.py 이호산
49 22-05-26 Level 2 JadenCase 문자열 만들기 문제 PRGRMRS_12951_JadenCase_문자열_만들기 김은혜
50 22-05-26 Level 3 사라지는 발판 문제 사라지는발판.py 이호산

Tips

  • 플로이드 와샬 (Floyd Warshall) 알고리즘

    • i에서 k를 거쳐 j로 갈 때 i에서 j까지의 최단거리를 업데이트 해주는 방식
    # adj는 인접행렬
    for k in range(N): # k는 거쳐가는 노드
      for i in range(N): # i는 출발 노드
        for j in range(N): # j는 도착 노드
          if adj[i][k] + adj[k][j] < adj[i][j]:
            adj[i][j] = adj[i][k] + adj[k][j]
  • mod(%) 활용 법

    # 수의 범위가 0 ~ 9999 일 때 음수 처리 방법
    num = -2 % 10000 # 9998
  • 2차원 배열 debugging 법

    arr = [[1, 2, 3, 4, 5],
          [1, 2, 3, 4, 5],
          [1, 2, 3, 4, 5],
          [1, 2, 3, 4, 5],
          [1, 2, 3, 4, 5],]
    print(*arr, sep="\n") # 각각의 arr의 요소들을 "\n"로 구별하여 출력
    """
    [1, 2, 3, 4, 5]
    [1, 2, 3, 4, 5]
    [1, 2, 3, 4, 5]
    [1, 2, 3, 4, 5]
    [1, 2, 3, 4, 5]
    """
  • permutations & combinations

    from itertools import permutations, combinations
    items = [1, 2, 3, 4, 5]
    print(list(combinations(items, 2)))
    # [(1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (3, 5), (4, 5)]
    print(list(permutations(items, 2)))
    # [(1, 2), (1, 3), (1, 4), (1, 5), (2, 1), (2, 3), (2, 4), (2, 5), (3, 1), (3, 2), (3, 4), (3, 5), (4, 1), (4, 2), (4, 3), (4, 5), (5, 1), (5, 2), (5, 3), (5, 4)]
  • defaultdict

    from collections import defaultdict
    d_dict = defaultdict()
    d_dict[i] += 1 #초기화 없이 사용가능
  • Counter

    from collections import Counter
    items = [2, 2, 1, 1, 1, 1, 1, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5, 5] # Counter({5: 6, 1: 5, 3: 3, 2: 2, 4: 2})
    str1 = "eeeeelllllllllliiiiiccccccccee" # Counter({'l': 10, 'c': 8, 'e': 7, 'i': 5})
    cnt1 = Counter(items)
    cnt2 = Counter(str1)
    # 가장 많은 top 3
    cnt1.most_common(3) # [(5, 6), (1, 5), (3, 3)]
    cnt2.most_common(3) # [('l', 10), ('c', 8), ('e', 7)]
  • for-else, while-else 구문

    for or while:
       # 블라블라
       break
    else:
    # break를 통해 루프가 끝나지 않았을 경우에 쓰는 코드
  • import sys

    • sys.setrecursionlimit(limit_number)
      • 재귀함수 제한 해제하고 싶을 때 ( default = 1000 )
    • sys.stdin.readline()
      • 입력 받을 때 ( input 보다 속도상에서 우위, 문자열로 입력받을 때 \n 개행까지 입력받으므로 주의 )
  • BFS: 큐를 이용 (from collections import deque)

    • 최단거리 문제 (DFS보다 빠를때가 많음)
  • DFS: 스택를 이용 (python list 사용)

    • 백트래킹 문제 (모든 경우의 수를 봐야할 때)

codingtest-study2's People

Contributors

gwonmin avatar hyejuseon avatar kimeunh3 avatar hosahn avatar hugekyung avatar bsy1141 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.