본문 바로가기

전체 글115

백준 10216 Count Circle Groups package algostudy11_BOJ_10216; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int T = Integer.parseInt(br.readLine()); int enemy[][]; int node[]; for(int i = 0 ;i < T;i++) { int N = Integer.parseInt.. 2021. 1. 12.
백준 15809 전국시대 package algostudy10_BOJ_15809; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.HashSet; import java.util.StringTokenizer; public class Review { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputSt.. 2021. 1. 12.
백준 17352 여러분의 다리가 되어 드리겠습니다! package algostudy09_BOJ_17352; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashSet; public class Review { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int bridge[] = new int[n+1]; for(int i = 1; i 2021. 1. 12.
백준 16236 아기상어 (bfs,구현,시뮬) 아기 상어 성공분류 시간 제한메모리 제한제출정답맞은 사람정답 비율 2 초 512 MB 24206 10223 5687 38.514% 문제 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크기보다 작은 물고기만 먹을 수 있다. 따라서, 크기가 같은 물고기는 먹을 수 없지만, 그 물고기가 있는 칸은 지나갈 수.. 2020. 12. 30.
자바스크립트 나머지 매개변수와 전개 문법 상당수의 자바스크립트 내장 함수는 인수의 개수에 제약을 두지 않는다 예) - Math.max(arg1,arg2,...,argN) - 인수 중 가장 큰수를 반환한다. - Object.assign(dest, src1 ..., srcN) - src1..N의 프로퍼티를 dest로 복사한다. 나머지 매개변수 ... 함수 정의 방법과 상관없이 함수에 넘겨주는 인수의 개수에는 제약이 없다. function sum(a, b) { return a + b; } alert( sum(1, 2, 3, 4, 5) ); 함수를 정의할 떄 인수를 두 개만 받도록하고 실제 함수를 호출할때는 이보다 더 많은 여분의 인수를 전달했지만 에러가 발생하지 않았다. 다만 반환값은 처음 두개의 인수만을 사용해 계산된다. 여분의 매개변수는 그 값들.. 2020. 12. 16.
JSON과 메서드 네트워크를 통해 객체를 어딘가에 보내거나 로깅 목적으로 객체를 출력해야 한다면 객체를 문자열로 전환해야 한다. let user = { name: "John", age: 30, toString() { return `{name: "${this.name}", age: ${this.age}}`; } }; alert(user); // {name: "John", age: 30} 개발 과정에서 프로퍼티가 추가되거나 삭제, 수정되면 toString을 매번 수정해야하기 때문에 문제가 생긴다. 자바스크립트에는 이런 문제를 해결할 수 있는 방법이 있다. JSON.stringfy JSON(JavaScript Object Notation)은 값이나 객체를 나타내주는 범용 포맷으로,RFC 4627 표준에 정의되어 있다. 자바스크.. 2020. 12. 14.
자바스크립트 iterable iterable 객체는 배열을 일반화한 객체이다 이터러블 이라는 개념을 사용하면 어떤 객체에든 for ... of qksqhransdmf wjrdydgkf tn dlTek. Symbol.iterator let range = { from: 1, to: 5 }; // 아래와 같이 for..of가 동작할 수 있도록 하는 게 목표입니다. // for(let num of range) ... num=1,2,3,4,5 range를 이터러블로 만드려면(for..of)가 동작하도록) 객체에 Symbol.iterator(특수 내장 심볼) 이라는 메서드를 추가해야한다. 1. for...of 가 시작되자마다 for...of는 Symbol.iterator를 호출(Symbol.iterator가 없으면 에러가 발생) Symbol... 2020. 12. 14.
자바스크립트 배열 배열 - 순서가 있는 컬렉션을 저장할 때 쓰는 자료구조 배열 선언 let arr = new Array(); let arr = []; 각 배열 요소에는 0부터 시작하는 숫자(인덱스) 가 매겨져 있다. 이 숫자는 순서를 나타낸다. 배열 내 특정요소를 얻고싶다면 대괄호 안에 순서를 나타내는 순자인 인덱스를 넣어주면 된다. let fruits = ["사과", "오렌지", "자두"]; alert( fruits[0] ); // 사과 alert( fruits[1] ); // 오렌지 alert( fruits[2] ); // 자두 # 자바스크립트의 배열은 Java의 배열과 다르게 크기를 미리 정하지 않는다(배열의 크기는 동적으로 변경이 가능하다. 배열 내부의 데이터 타입이 서로 다를 수 있다.(자료형의 제약이 없다. /.. 2020. 12. 13.
자바스크립트 문자열 자바스크립트에서 문자열은 페이지 인코딩 방식과 상관없이 항상 UTF-16 형식을 따른다. 따옴표 따옴표의 종류가 무엇이 있었는지 상기해보자 문자열은 작은 따옴표나 큰따옴표,백틱으로 감쌀 수 있다. let single = '작은따옴표'; let double = "큰따옴표"; let backticks = `백틱`; 작은따옴표와 큰 따옴표는 기능상 차이가 없다. 하지만 백틱엔 특별한 기능이 있다. 표현식을 ${...}으로 감싸고 이를 백틱으로 감싼 문자열 중간에 넣으면 문자열 중간에 쉽게 삽입할 수 있다. -> 이러한 방식을 템플릿 리터럴 이라고 부른다. function sum(a, b) { return a + b; } alert(`1 + 2 = ${sum(1, 2)}.`); // 1 + 2 = 3. let .. 2020. 12. 12.