https://www.acmicpc.net/problem/1253코드import sysinput = sys.stdin.readlinen = int(input())arr = list(map(int, input().split()))arr.sort()ans = 0for i in range(n): l, r = 0, n-1 while l = r: break if arr[l]+arr[r] == arr[i]: ans += 1 break elif arr[l]+arr[r] 설명1. 처음 입력으로 주어진 배열 arr를 오름차순 정렬한다.2. 정렬된 arr의 첫번째 원소부터 좋은 수인지 판별한다. a. 투포인터로 검색을 할..
전체 글
https://www.acmicpc.net/problem/1261코드 (BFS)from collections import dequem, n = map(int, input().split())maze = [input() for _ in range(n)]dx = [-1, 1, 0, 0]dy = [0, 0, -1, 1]break_num = [[n*m]*m for _ in range(n)]break_num[0][0] = 0q = deque([(0, 0)])while q: x, y = q.popleft() for i in range(4): nx = x+dx[i] ny = y+dy[i] if 0 cnt: break_num[nx][ny] = ..

https://www.acmicpc.net/problem/10164코드n, m, k = map(int, input().split())def find_path(r, c): # 세로 길이가 r, 가로 길이가 c인 격자에서 경로의 개수 구하기 dp = [[0]*(c) for _ in range(r)] dp[0][0] = 1 for i in range(r): for j in range(c): if i+1 풀이목적지까지 경로의 개수 구하는데 중간에 꼭 경유해야 하는 곳이 있다면 다음과 같이 출발지-경유지까지 가는 길과 경유지-목적지까지 가는 길의 경로의 수를 각각 구해서 곱하면 된다.1번이 출발지, 15번이 목적지, 8번이 경유지라면 (1번에서 8번까지 가는..
MapMap 객체는 Key-Value 쌍인 집합.Map의 특징- 하나의 Map 에서 Key는 오직 단 하나만 존재한다. => Map 집합의 유일성- Map 객체는 Key-Value 쌍으로 반복된다. `for...of` 루프는 각 반복에 대해 `[key, value]`로 이루어진 멤버가 2개인 배열을 반환한다.- 반복은 삽입한 순서대로 발생한다. 즉, `set()` 메서드로 Map에 처음 삽입한 각각의 Key-Value 쌍 순서와 대응된다는 말이다.- Map의 Key로 다양한 자료구조를 정의할 수 있다. Map의 메서드set- Map에 데이터를 추가할 때 사용.- Map 객체를 반환함.let student = new Map();// set : Map 객체에 삽입student.set("id", 39);stu..
https://www.acmicpc.net/problem/14405 코드s = input()tmp = ""ans = "YES"for i in range(len(s)): tmp += s[i] if tmp in ["pi", "ka", "chu"]: tmp = "" if len(tmp) >= 3: ans = "NO" breakprint(ans if tmp == "" else "NO")정말 단순한 방법을 사용해서 풀 수 있는 문제긴 하지만, 다 풀고 다른 사람들 코드를 보다가 정규표현식을 이용하여 풀 수 있다는 것을 알았다.import res = input()pattern = re.compile(r'^(pi|ka|chu)*$')if pattern.match(..
slice와 splice 둘 다 배열의 메서드는 맞지만 하는 일이 약간 다르다.slice()는 배열에서 원하는 구간의 얕은 복사본을 반환하고, splice()는 배열에 요소를 추가, 제거, 또는 교체할 때 사용된다.slice()배열에서 원하는 구간을 추출하여 새로운 배열(얕은 복사본)을 반환하는 함수.slice()slice(start)slice(start, end)매개 변수start (Optional)잘라낼 구간의 시작 인덱스.end (Optional)잘라낼 구간의 끝 인덱스. end는 이 구간에 포함되지 않는다.반환 값추출된 구간을 담은 새로운 Array.예시const fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"]const citrus = frui..