[BOJ / 백준] 16637번 괄호 추가하기 파이썬(Python) 문제 풀이
·
Baekjoon
문제 문제 링크 : https://www.acmicpc.net/problem/16637 16637번: 괄호 추가하기 첫째 줄에 수식의 길이 N(1 ≤ N ≤ 19)가 주어진다. 둘째 줄에는 수식이 주어진다. 수식에 포함된 정수는 모두 0보다 크거나 같고, 9보다 작거나 같다. 문자열은 정수로 시작하고, 연산자와 정수가 www.acmicpc.net CODE import sys input = sys.stdin.readline result = -2 ** 31 - 1 # 최솟값 -1 def calc(num, op): # 남은 수식을 전부 계산하는 함수 while op: oper = op.pop(0) n1, n2 = num.pop(0), num.pop(0) if oper == '+': num.insert(0, n..
[JavaScript] 자바스크립트 객체(object) (3) : Object 객체와 Object.prototype 객체의 메소드
·
JavaScript
Object 객체와 Object.prototype 객체의 프로퍼티 - 모든 자바스크립트 객체는 Object 객체와 Object.prototype 객체의 모든 프로퍼티를 상속받는다 - 새로운 프로퍼티나 메소드를 손쉽게 추가할 수 있다 Object 객체와 Object.prototype 객체의 메소드 자주 사용되는 객체 메소드에는 다음과 같은 것들이 있다 > hasOwnProperty() - 특정 프로퍼티가 해당 객체에 존재하는지 검사 - 해당 객체에 직접 선언된 프로퍼티만을 검사하기 때문에, 상속받은 프로퍼티는 false값을 반환한다 function Dog(color, name, age, family) { this.color = color; this.name = name; this.age = age; thi..
[JavaScript] 자바스크립트 객체(object) (2) : 상속, 프로토타입, this 키워드, 삭제, 순회, 비교
·
JavaScript
상속 (inheritance) - 상속 : 새로운 클래스에서 기존 클래스의 모든 프로퍼티와 메소드를 사용할 수 있는 것 - 클래스 기반의 객체 지향 언어인 C++과 달리 자바스크립트는 프로토타입 기반의 객체 지향 언어 - JS에서는 현재 존재하는 객체를 프로토타입으로 사용하여, 해당 객체를 복제하여 재사용하는 것을 상속이라고 한다 - JS의 모든 객체는 최소 하나 이상의 다른 객체로부터 상속을 받는다 프로토타입 (prototype) - JS의 모든 객체는 프로토타입이라는 객체를 가진다 - 모든 객체는 그들의 프로토타입으로부터 프로퍼티와 메소드를 상속받는다 - 프로토타입 : 상속되는 정보를 제공하는 객체 프로토타입의 생성 - 가장 기본적인 방법은 객체 생성자 함수를 작성하는것 - 생성자 함수를 작성하고 n..
[JavaScript] 자바스크립트 객체(object) (1) : 참조 및 생성
·
JavaScript
자바스크립트 객체 - JS의 기본 타입은 객체(object) - 객체 : 이름과 값으로 구성된 프로퍼티의 정렬되지 않은 집합 - 함수가 객체의 프로퍼티의 값으로 오면, 메소드(method0라고 부른다 - 객체의 프로퍼티 및 메소드 참조 객체이름.프로퍼티이름 객체이름["프로퍼티이름"] 객체이름.메소드이름() var person = { name: "홍길동", birthday: "030219", pId: "1234567", fullId: function() { return this.birthday + this.pId; } }; person.name // 홍길동 person["name"] // 홍길동 person.fullId() // 0302191234567 person.fullId; // function ()..
[JavaScript] 자바스크립트 함수(function) (2) : 미리 정의된 전역 함수
·
JavaScript
미리 정의된 전역 함수 (predefined functions) - JS는 사용자 편의를 위해 다양한 기능의 여러 전역 함수를 미리 정의하여 제공한다 - 어떤 타입의 객체에서도 바로 사용 가능 eval() : 문자열로 표현된 자바스크립트 코드를 실행하는 함수 eval("문자열"); var x = 10, y = 20; var a = eval("x + y"); // 30 var b = eval("y * 3"); // 60 document.write(a + " " + b); isFinite() : 전달된 값이 유한한 수인지를 검사하여 결과를 반환한다. 인수가 숫자가 아니라면 숫자로 변환하여 검사한다 isFinite(검사할값); isFinite(123); // true isFinite(123e100); // t..
[JavaScript] 자바스크립트 함수(function) (1) : 정의, 유효범위, 호이스팅, arguments, 디폴트 매개변수
·
JavaScript
자바스크립트 함수 - 자바스크립트에서는 함수도 하나의 타입(datatype)이다 - 다른 함수 내에 중첩되어 정의될 수 있다 함수의 정의 - function 키워드로 시작하며 함수이름, 매개변수, 실행문으로 구성된다 function 함수이름(매개변수1, 매개변수2,...) { 함수가 호출되었을 때 실행하고자 하는 실행문; } 함수의 호출 - 정의된 함수는 프로그램 내에서 호출되어야 비로소 실행된다 - (예) 함수의 정의 및 호출 // 함수의 정의 function addNum(x, y) { return x + y; } // 함수의 호출 var sum = addNum(3, 5); // 함수 addNum()을 호출하면서, 인수로 3과 5를 전달합니다. // 함수의 호출이 끝난 뒤에는 그 반환값을 변수 sum에..
[JavaScript] 자바스크립트 배열(array) : 생성 및 활용
·
JavaScript
배열 (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) 문제 풀이
·
Baekjoon
문제 문제 링크 : 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) 문제 풀이
·
Baekjoon
문제 문제 링크 : 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) 문제 풀이
·
Baekjoon
문제 문제 링크 : 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 - ..