전체 글
[JavaScript] 자바스크립트 배열(array) : 생성 및 활용
배열 (array) : 이름과 인덱스로 참조되는 정렬된 값의 집합 - 요소 (element) : 배열을 구성하는 각각의 값 - 인덱스 (index) : 배열에서의 위치를 가리키는 숫자 자바스크립트에서 배열 특징 1. Array 객체로 다룬다 2. 배열 요소의 타입이 고정되어 있지 않아, 같은 배열에 있는 요소들끼리 타입이 서로 다를 수 있다 3. 인덱스가 연속적이지 않아도 되며, 특정 요소가 비어있을 수도 있다 배열의 사용 배열의 생성 - 문법 1. var arr = [배열요소1, 배열요소2,...]; // 배열 리터럴을 이용하는 방법 2. var arr = Array(배열요소1, 배열요소2,...); // Array 객체의 생성자를 이용하는 방법 3. var arr = new Array(배열요소1, 배..
[BOJ / 백준] 17088번 등차수열 변환 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/17406 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net CODE import copy import sys from itertools import permutations input = sys.stdin.readline # 배열에 회전 연산을 수행하는 함수 def rotate(p, arr): result = 5001 for pp in p: # 연산 순서가 저장된 리스트 p r, c, ss = pp[0] -..
[BOJ / 백준] 17089번 세 친구 성공 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/17089 17089번: 세 친구 첫째 줄에 사람의 수 N(3 ≤ N ≤ 4,000), 친구 관계의 수 M(0 ≤ M ≤ 4,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계를 의미하는 두 정수 A, B가 주어진다. 친구 관계는 A와 B, 그리고 B와 A가 친 www.acmicpc.net CODE import sys input = sys.stdin.readline n, m = map(int, input().split()) frd = [[False for _ in range(n)] for _ in range(n)] # 친구 여부 cnt = [0 for _ in range(n)] # 친구 수 for i in range(m)..
[BOJ / 백준] 2422번 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/2422 2422번: 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 첫째 줄에 정수 N과 M이 주어진다. N은 아이스크림 종류의 수이고, M은 섞어먹으면 안 되는 조합의 개수이다. 아래 M개의 줄에는 섞어먹으면 안 되는 조합의 번호가 주어진다. 같은 조합은 두 번 www.acmicpc.net CODE import sys input = sys.stdin.readline n, m = map(int, input().split()) ice = [[False for _ in range(n)] for _ in range(n)] for i in range(m): i1, i2 = map(int, input().split()) ice[i1 - ..
[BOJ / 백준] 2210번 숫자판 점프 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/2210 2210번: 숫자판 점프 111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, 212121 이 가능한 경우들이다. www.acmicpc.net CODE import sys from itertools import product input = sys.stdin.readline dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] num = list(list(map(int, input().split())) for _ in range(5)) result = [] for..
[BOJ / 백준] 15686번 치킨 배달 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net CODE import sys from itertools import combinations input = sys.stdin.readline n, m = map(int, input().split()) city = list(list(map(int, input().split())) for _ in range(n)) result = 999999 house = []..
[BOJ / 백준] 17088번 등차수열 변환 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/17088 17088번: 등차수열 변환 크기가 N인 수열 A = [A1, A2, ..., AN]이 있을 때, 모든 1 ≤ i < N에 대해서, Ai+1-Ai가 모두 일치하면 등차수열이라고 한다. 예를 들어, [3], [6, 6, 6], [2, 8, 14, 20], [6, 4, 2]는 등차수열이고, [4, 5, 4], [6, 3, 1] www.acmicpc.net CODE def check(i, j): cnt = abs(i) + abs(j) # 연산 횟수; 1, 2번째 원소의 연산 횟수로 초기화 arr = [] arr.append(b[1] + j) diff = b[1] + j - b[0] - i # 공차 == 1, 2번재 원소의 ..
[BOJ / 백준] 3425번 고스택 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/3425 3425번: 고스택 각각의 입력값에 대해서, 해당하는 프로그램을 수행한 뒤, 출력값을 출력하면 된다. 출력값이란 스택에 저장되어 있는 숫자이다. 만약, 프로그램 에러가 발생하거나, 모든 수행이 종료됐을 때 www.acmicpc.net CODE import sys input = sys.stdin.readline def exec(commands, num): stack = [num] for cmd in commands: if cmd[:3] == "NUM": n = int(cmd[4:]) stack.append(n) elif not stack: return "ERROR" elif cmd == "POP": stack.pop() ..
[BOJ / 백준] 16943번 숫자 재배치 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/16943 16943번: 숫자 재배치 두 정수 A와 B가 있을 때, A에 포함된 숫자의 순서를 섞어서 새로운 수 C를 만들려고 한다. 즉, C는 A의 순열 중 하나가 되어야 한다. 가능한 C 중에서 B보다 작으면서, 가장 큰 값을 구해보자. C는 0 www.acmicpc.net CODE from itertools import permutations a, b = input().split() b = int(b) c = -1 a_list = [] for item in permutations(a): a_list.append(''.join(item)) for i in a_list: if i[0] == '0': # 0으로 시작하는 경우 c..
[BOJ / 백준] 16938번 캠프 준비 파이썬(Python) 문제 풀이
문제 문제 링크 : https://www.acmicpc.net/problem/16938 16938번: 캠프 준비 난이도가 10, 30인 문제를 고르거나, 20, 30인 문제를 고르면 된다. www.acmicpc.net CODE import sys from itertools import combinations n, l, r, x = map(int, input().split()) a = list(map(int, sys.stdin.readline().split())) result = 0 a.sort() for i in range(n - 1): for j in range(n - 1, i, -1): if a[j] - a[i] >= x: for k in range(j - i): for m in combination..