목록전체 글 (277)
내 잡다한 노트
iterable한 객체(리스트, 튜플, 문자열)에서 쉽게 값들을 가져오는 방법 -기본 형태- a[start : end : step] 모두 양수, 음수 다 들어갈 수 있다. start는 시작 인덱스 end는 끝 인덱스, 대신 range()처럼 끝 인덱스는 포함되지 않는다 step는 커지는 단계 default 값은 +1 자주 쓰이는 예시 a = [1,2,3,4,5] a[::-1] 이라고하면 문자열을 역순으로 새롭게 만들수 있다. ex) a = [5,4,3,2,1] a[-3:] = [3,4,5] a[:-1] = [1,2,3,4]
에라토스테네스의 체의 쓰임새 - 소수를 대량으로 판별할 때 쓰인다. 시간 복잡도 - 어떤 숫자의 제곱근까지만 약수의 여부를 구하면 돼서 O(n^1/2)가 된다. 알고리즘 - 구해야 하는 소수의 범위로 배열을 할당 - 2부터 시작해서 배수인 숫자들을 지운다. 여기서 자기 자신은 지우지 않는다 - 이것을 전체 범위의 n^1/2까지 했다면 종료시킨다. 더 자세한 설명은 여기로! 그림으로 설명이 잘 돼있는 것 같다. https://namu.wiki/w/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98%20%EC%B2%B4
문제 : https://www.acmicpc.net/problem/6087 6087번: 레이저 통신 크기가 1×1인 정사각형으로 나누어진 W×H 크기의 지도가 있다. 지도의 각 칸은 빈 칸이거나 벽이며, 두 칸은 'C'로 표시되어 있는 칸이다. 'C'로 표시되어 있는 두 칸을 레이저로 통신하기 위해서 www.acmicpc.net 소스 코드 import sys from collections import deque W, H = map(int, sys.stdin.readline().split()) # H가 세로 mapp = [list(map(str, sys.stdin.readline().strip())) for _ in range(H)] dx = [0, 0, 1, -1] dy = [1, -1, 0, 0] st..
백준 아기상어 : https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 작성한 코드 import sys from collections import deque N = int(sys.stdin.readline().strip()) mapp = [list(map(int, sys.stdin.readline().split())) for _ in range(N)] dx = [0, 0, 1, -1] dy = [1, -1, 0, 0] def bfs(i, j,..
16236 아기상어 문제 풀던중... if fish in None: TypeError: argument of type 'NoneType' is not iterable fish에 None이 있는지 확인하려고 in을 썼는데 Nonetype은 iterable(반복가능한)하지 않다고 한다. None은 다른 언어에서 null과 같은 의미지만, 파이썬에서는 Nonetype형으로 하나의 객체로써 존재하고 있다. 그래서 in을 쓰는게 아니고 is를 써야한다. 왜 ? None은 객체라서 같은 객체를 참조하는 지 확인하는 is를 써야한다.