본문 바로가기 메뉴 바로가기

jenlog

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

jenlog

검색하기 폼
  • All (81)
    • algorithm (71)
      • baekjoon (31)
      • swea (30)
      • programmers (9)
    • JS (1)
    • Vue.js (2)
    • React (2)
    • * etc (5)
  • 방명록

All (81)
[백준] 1931번. 회의실 배정 / python 파이썬

🚩 그리디 thinking [SWEA] 5202-화물도크 랑 똑같은 문제여서 같은 방식으로 풀었다. 시작-끝 시간을 리스트로 받은 다음, 끝나는 시간 순으로 정렬한다. 전회차의 끝 시간보다 다음회차 시작 시간이 같거나 크면 카운팅을 해주면 된다. 시간 때문에 pop(0) 을 안하고 pop() 을 하고 싶어서 내림차순으로 정렬했다. 기억할 것 ⭐ input() 은 매우 느리다. 입력이 10만줄 이상 되면 stdin.readline을 사용하는 것이 좋다. ⭐파이썬 람다 정렬하는 법 # sorted(a, key=lambda x: (-x[1], -x[0])) 정렬결과 [[12, 14], [2, 13], [8, 12], [8, 11], [6, 10], [5, 9], [3, 8], [5, 7], [0, 6], [3..

algorithm/baekjoon 2021. 6. 2. 19:39
[백준] 1780. 종이의 개수 / python 파이썬

🚩 분할정복, 재귀 thinking N이 3의 배수이기 때문에 같은 숫자로 안 이루어져 있으면 계속해서 나누면서 -1, 0, 1 의 개수를 구하면 된다. 그래서 같은 숫자로 이루어져 있는지 체크하는 checking 이라는 함수와 9칸으로 행렬을 나눌 divide 라는 함수를 만들어 구했다. 시작행(s_x)과 시작열 (s_y) 을 인자로 하여 함수를 계속 쪼개더라도 값을 확인할 수 있도록 구성했다. 처음 코드를 짤 때 1️⃣과 2️⃣의 순서를 바꿨더니 틀렸다. 일단 어떤 값이 나왔는지를 먼저 체크해야하기 때문에 1️⃣과 2️⃣의 순서로 구성해야한다. 코드 # 같은 숫자로 이루어져 있는지 확인하는 함수 def checking(s_x, s_y, length): # 시작 x, y좌표, 종이 길이 global r..

algorithm/baekjoon 2021. 6. 2. 19:29
[백준] 2178. 미로 탐색 / python 파이썬

🚩 BFS thinking 최소 칸수를 구하는 문제이므로 bfs로 해결하자고 생각했다. 코드 풀이 1 visited라는 배열을 만들어 푸는 방법 from collections import deque dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] def bfs(): global visited q = deque() # 큐 만들고 q.append((0, 0)) # 시작점 넣어주고 visited[0][0] = 1 # 값 갱신 while q: # 큐에 값이 있으면 x, y = q.popleft() # 맨 왼쪽 값 빼서 할당하고 for i in range(4): # 사방 탐색하면서 nx = x+dx[i] ny = y+dy[i] # 인덱스가 범위 이내이면서 미로의 값이 1이고 아직 방문하지 않았..

algorithm/baekjoon 2021. 6. 2. 19:17
[백준] 1764. 듣보잡 / python 파이썬

🚩 자료구조, 문자열, 정렬 thinking 중복없이 처리하기 위해 듣도 못한 사람과 보도 못한 사람을 각각 set에 넣은 후, 교집합을 구해 정렬했다. 파이썬 set의 특징 덕분에 쉽게 해결했다. 코드 N, M = map(int, input().split()) set_N = set() # 듣도 못한 사람의 명단을 담을 set set_M = set() # 보도 못한 사람의 명단을 담을 set for _ in range(N): set_N.add(input()) for _ in range(M): set_M.add(input()) res = sorted(list(set_N & set_M)) # 교집합을 구한다음 정렬 print(len(res)) for ele in res: print(ele) 한줄평 채점하는데..

algorithm/baekjoon 2021. 6. 2. 19:08
[백준] 1697. 숨바꼭질 / python 파이썬

🚩 그래프탐색, BFS thinking 1. fail (메모리초과) 처음 풀었을때는 N과 K의 범위가 커서 방문체킹을 인덱스로 접근하는 리스트로 안 만들고 딕셔너리로 만들었는데 메모리 초과가 났다. 구글링해보니, 이렇게 하면 방문했던 노드도 큐에 다시 넣어져서 그렇다고 한다. ⭐ 메모리 초과 발생 이유 : 과거에 했던 값을 계속 처리하기 위해 큐에 값을 넣는 것 때문에 발생함. ex. 10에서 갈 수 있는 노드: 9, 11, 20. but, 10까지 갈 수 있는 방법 엄청 많음. (9->10, 11->10, 5->10 ... ) 2. success 😀 방문체킹 리스트를 인덱스로 접근해 100,001 개의 칸으로 만들어줬다. 칸이 10만개 있어도 아무런 상관없다. 괜히 숫자 커지고 for문 많아지면 쫄게된..

algorithm/baekjoon 2021. 6. 2. 19:03
이전 1 ··· 4 5 6 7 8 9 10 ··· 17 다음
이전 다음
글 보관함
TAG
  • 보석쇼핑
  • 프로그래머스
  • 21609 상어 중학교
  • git 미러링
  • 17406 배열돌리기4
  • 파이썬
  • dfs
  • 2018 카카오 공채
  • 백준
  • dp
  • 삼성코테
  • 20056 마법사 상어와 파이어볼
  • swea
  • 삼성기출
  • 20057 마법사 상어와 토네이도
  • 영어끝말잇기
  • merge에러
  • Python
  • BFS
  • 브루트포스
  • 기지국설치
  • 2579 계단오르기
  • 알고리즘
  • react
  • merge 에러
more
최근에 올라온 글
Total
Today
Yesterday
최근에 달린 댓글
«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

jennnn.tistory.com

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.