분류 전체보기
![[python] 집합 자료형 set()](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbi8TS6%2FbtqIRMMElq2%2F0rC24zb8oarGeSnsy2OY0k%2Fimg.png)
[python] 집합 자료형 set()
📗 집합 set() set은 리스트와 비슷하게 볼 수 있다. 하지만 인덱스로 접근이 불가능하고, 정렬도 할 수 없다. for 문으로 하나하나 출력해봐도 그때 그때 순서가 뒤죽박죽으로 다르게 나온다. set 을 사용하는 이유는 중복이 없다 특정 원소가 있는 지 확인할 때 O(1)의 시간 복잡도를 가진다. ( 리스트의 경우 O(N) ) ex) if 원소 in 셋: 집합 관련 🔵 교집합, 합집합, 차집합 교집합: & or intersection 합집합: | or union 차집합: - or difference set1 = {1, 2, 3, 4, 5} set2 = {3, 4, 5, 6, 7} # 교집합 print(set1.intersection(set2)) # {3, 4, 5} print(set1 & set2)..
![[python] 백준 - 1926. 그림](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5WuYc%2FbtqHZjwrAmc%2FGaVg3I4CPVUUE7Cgbu6YsK%2Fimg.png)
[python] 백준 - 1926. 그림
🤔문제 해결 S1 | BFS, 그래프 그림을 하나 선택 한다. 그 그림의 상하좌우를 탐색한다. 만약 상하좌우에 그림이 있다면 그 그림을 선택 후 다시 상하좌우 선택한다. 더 이상 처음 선택한 그림과 연결된 그림이 없을 때 까지 탐색. 위의 과정을 반복한다. 처음 그림을 선택하면 그림의 갯수 +1 그림선택후 상하좌우 탐색하면서 그림을 찾으면 그림의 크기 +1 💨 기본적인 BFS 문제 💻소스 코드 from collections import deque def bfs(x, y): q = deque() q.append((x, y)) images[i][j] = 0 size = 1 # 최초 들어갈 때 그림 크기 1로 시작 while q: x, y = q.popleft() for k in range(4): # 상하좌우..
![[python] 'input.txt'로 input 받기 ( feat.sys )](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FDhfAl%2FbtqIPRngYVl%2Fj70VXXE3utbP5ZKjw2aSM0%2Fimg.png)
[python] 'input.txt'로 input 받기 ( feat.sys )
📗 파일을 읽어서 input 값을 받아보자 ctrl+c, ctrl+v 는 이제 그만 🔵사용법 import sys sys.stdin = open('input.txt') for i in range(5): print(sys.stdin.readline()) input.txt: 2 4 40 30 30 50 15 1 21 3 4 5 35 5 4 3 5 98 21 14 17 32 🔵결과 2 4 40 30 30 50 15 1 21 3 4 5 35 5 4 3 5 98 21 14 17 32
![[python] 백준 - 1743. 음식물 피하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FtZntI%2FbtqHP41ZE9N%2FIIoNrVJ8BoxRsJLQTUsrZ0%2Fimg.png)
[python] 백준 - 1743. 음식물 피하기
🤔문제 해결 S1 | BFS 이번에는 2차원리스트를 활용하지 않고 set()을 활용하여 문제를 해결했다. 각각의 좌표가 주어져 있으므로 쓰레기를 하나 선택해 상하좌우 BFS탐색을 한다. 주변의 쓰레기를 선택할 때마다 visited 에 add 해준다. 또 count + 1 을 해줘서 쓰레기 더미의 크기를 answer 에 담는다. 💨 set() 을 쓰는 이유 if tmp in set() : 이렇게 tmp가 set()에 있는지 없는지 확인할 때 시간복잡도가 O(1) 이다. 하지만 if tmp in list : list의 경우 O(n) 이다. 💻소스 코드 import sys from collections import deque def bfs(x, y): q = deque() q.append((x, y)) cnt..
![[python] F-String](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRNfys%2FbtqIZk2cpZG%2FNQkZtl6NhAYJ7iJhW1JEKk%2Fimg.png)
[python] F-String
📗 F-String 코딩을 하다보면 당연히 변수와 상수(?)를 같이 써야할 때가 온다. 기존에는 이렇게 다양하게 표현했다. name = 'deok' language = 'python' print('hi, my name is ' + name + '! ' + 'I like ' + language + '.') print('hi, my name is {}! I like {}.'.format(name, language)) print('hi, my name is %s! I like %s.' % (name, language)) ## hi, my name is deok! I like python. 보다시피 가독성이 매우 안좋다. 여기서 변수가 더 많아지면... 😂 이와 같은 문제를 해결하기 위해 python 3.6 버..
![[python] 프로그래머스 - 외벽 점검(2020 KAKAO BLIND RECRUITMENT)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoTYNY%2FbtqHU7J0p30%2FKcmgTqx1QRTHdXfIvhtVn0%2Fimg.jpg)
[python] 프로그래머스 - 외벽 점검(2020 KAKAO BLIND RECRUITMENT)
🤔문제 해결 Lv 3 | 정답률: 0.6% 주어진 값의 크기가 크지 않기 때문에 완전탐색으로 해결이 가능하다. 먼저 친구를 순열로 만든다. ex) [1,2,3] 이면 [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] 외벽이 원형이므로 앞과 뒤가 이어져 있다고 생각해야 한다. 취약점도 첫번째 취약점을 먼저 갈것인가 두번째 취약점을 먼저 갈것인가... 순서를 정해서 가야한다. - 첫번 째 테스트케이스의 취약점([1, 5, 6, 10])을 배열(n=12)로 나타내면 [0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0] 위의 경우는 첫번째 취약점(1)이 가장 먼저 나오는 경우 - 다음 취약점 2가 가장 먼저 나오는 경우는 0,1을 맨뒤로 옮겨주면 된다. ..