목록전체 글 (129)
끄적끄적
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/60057?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자열 문자열 길이의 반정도까지 돌면서 1개, 2개, 3개... 씩 쪼갠다. 쪼개고 나서 나온 문자열 길이를 리스트에 추가한다. 그 중 가장 작은 값을 찾는다. +) 문자열의 길이가 1일 때는 예외처리 해줘야 함.
for-else문 #for-else 구문 for j in range(cur_row): if queen[j] == queen[cur_row] : break if abs(queen[j] - queen[cur_row]) == cur_row - j : break else: cnt += dfs(queen, n, cur_row + 1) 파이썬에서는 else문이 if-else 뿐만 아니라 for-else로도 쓰이는데 for와 함께 쓰는 else는 for문이 중간에 break 등으로 끊기지 않고 끝까지 수행 되었을 때, 수행하는 코드를 담고 있다. else문 들여쓰기는 for문과 맞춰줘야 함 int to string str() 쓰면 됨 ex ) num_str = str(num)
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12952?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 백트래킹 겹치지 않으려면 한줄당 하나씩밖에 못오기 때문에, queen을 1차원 리스트로 선언 queen[0]=1이면 (0,1)에 퀸이 놓여져있다는 뜻 같은 열이나 대각선에 위치해 있는게 아니라면 이어서 탐색 * 가로 - 가로 와 세로 - 세로 의 절댓값이 같으면 대각선에 위치해 있다는 것
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr n번째 문자를 문자열 맨 앞에 붙이고 정렬한다. (n번째 문자를 기준으로 정렬하고, n번째 문자가 같으면 사전순으로 정렬한다고 했기 때문)
입력 2차원 문자열배열 입력받기 for i in range(N): color = str(input()) for x in color: arr[i].append(x) for문 _ : 의미없는 변수, 실제 사용되지 않을 때 사용 [False]*N 하면 N 크기의 리스트가 만들어짐 arr = [[] for _ in range(N)] visited = [[False]*N for _ in range(N)] range 1. 인수가 한 개 - range(MAX) 0에서부터 MAX - 1 2. 인수가 두 개 - range(MIN, MAX) MIN에서부터 MAX -1 3. 인수가 세 개 - range(MIN, MAX, GAP) MIN에서부터 MAX-1 까지, 각 숫자들 사이에 GAP만큼의 차이를 두면서 ex ) range..
출처 : https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 1. c++ 2. python 상하좌우로 인정해 있는 경우 같은 구역에 속한다고 했으므로 dfs/bfs 사용하였음 적록색약이 아닌 경우 방문되지 않은 칸에 대해 bfs 돌려줌 적록색약인 경우를 구하기 위해 먼저 초록색 칸을 빨간색으로 바꿔줌 그 다음 visited 배열과 cnt 초기화해주고 적록색약인 경우도 방문되지 않은 칸에 대해 bfs 돌려줌
출처 : https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 1. c++ 2. python graph 리스트를 빈값으로 초기화해준 후 a,b값을 입력받아 서로 연결해줌 이후 dfs를 1부터 돌며 아직 방문되지 않은 정점에 한해 방문 visited 리스트에서 True(방문된) 개수의 합 -1을 해줌 (1까지 포함되어 있으니) * 함수 내에서는 함수 밖에 있는 변수에 값을 할당할 수 없다 원래는 밖에 cnt를 선언해서 dfs함수 내에서 cnt+=1 이런식으..
변수 선언 - width = 0, height = 0 과 같이 한 줄에 두 개 이상 선언 불가 width = 0 height = 0 처럼 한 줄에 하나씩 써줘야 함 리스트 파이썬에서는 배열을 리스트 형태로 많이 사용 - 선언 ex) a = [] 초기화 -> 2차원으로 만드려고 할 때 ex) N의 크기만큼 2차원으로 초기화 graph = [[] for x in range(N+1)] 인덱싱 적용 가능 ex) a[0] + a[2] a[-1]은 마지막 요솟값을 나타냄 - 기존 리스트에 원소 추가 graph[a]+=[b] - 함수 a.reverse() : 리스트를 거꾸로 뒤집는다 a.sort() : 정렬, 기본값은 오름차순 a.sort(reverse=True) : 내림차순 정렬 +) sorted() 내장함수가 더..