본문 바로가기

분류 전체보기352

[자바스크립트] 호이스팅 호이 스팅이란? 스코프 안의 변수들을 스코프 최상단으로 올리는 것 자바스크립트에는 var, let, const 총 3가지의 변수, 상수 타입이 있습니다. console.log(score); score = 5; score = 80; const score; console.log(score); 해당 코드의 출력 결과는 undefined 80입니다. 다른 언어였으면 첫 줄에서 에러가 났을 테지만, 자바스크립트 var변수에서는 호이 스팅이 일어나 에러 없이 코드가 수행되게 됩니다. 위의 코드에서 var 부분을 const, let으로 바꿀 경우 에러가 나게 됩니다. const, let이 호이 스팅이 안 되는 것이 아니라 const, let 같은 경우에는 호이 스팅은 일어나지만, 변수 초기화,값 할당부분에서 문제가 .. 2021. 10. 29.
[프로그래머스] 자바 크레인 인형뽑기 게임 문제 문제 설명 게임 개발자인 "죠르디"는 크레인 인형 뽑기 기계를 모바일 게임으로 만들려고 합니다. "죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 "5 x 5" 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 "1 x 1" 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 .. 2021. 10. 28.
[프로그래머스] 자바 괄호 변환 문제 문제 설명 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴파일하여 로그를 보니 대부분 소스 코드 내 작성된 괄호가 개수는 맞지만 짝이 맞지 않은 형태로 작성되어 오류가 나는 것을 알게 되었습니다. 수정해야 할 소스 파일이 너무 많아서 고민하던 "콘"은 소스 코드에 작성된 모든 괄호를 뽑아서 올바른 순서대로 배치된 괄호 문자열을 알려주는 프로그램을 다음과 같이 개발하려고 합니다. 용어의 정의 '(' 와 ')' 로만 이루어진 문자열이 있을 경우, '(' 의 개수와 ')' 의 개수가 같다면 이를 균형잡힌 괄호 문자열이라고 부릅니다. 그리고 여기에 '('와 ')'의 괄호.. 2021. 10. 27.
[백준] 자바 16956 늑대와 양 문제 크기가 R×C인 목장이 있고, 목장은 1 ×1 크기의 칸으로 나누어져 있다. 각각의 칸에는 비어있거나, 양 또는 늑대가 있다. 양은 이동하지 않고 위치를 지키고 있고, 늑대는 인접한 칸을 자유롭게 이동할 수 있다. 두 칸이 인접하다는 것은 두 칸이 변을 공유하는 경우이다. 목장에 울타리를 설치해 늑대가 양이 있는 칸으로 갈 수 없게 하려고 한다. 늑대는 울타리가 있는 칸으로는 이동할 수 없다. 울타리를 설치해보자. 입력 첫째 줄에 목장의 크기 R, C가 주어진다. 둘째 줄부터 R개의 줄에 목장의 상태가 주어진다. '.'는 빈칸, 'S'는 양, 'W'는 늑대이다. 출력 늑대가 양이 있는 칸으로 갈 수 없게 할 수 있다면 첫째 줄에 1을 출력하고, 둘째 줄부터 R개의 줄에 목장의 상태를 출력한다. 울타.. 2021. 10. 25.
[백준] 자바 2644 촌수계산 문제 우리나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 독특한 문화를 가지고 있다. 이러한 촌수는 다음과 같은 방식으로 계산된다. 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산한다. 예를 들면 나와 아버지, 아버지와 할아버지는 각각 1촌으로 나와 할아버지는 2촌이 되고, 아버지 형제들과 할아버지는 1촌, 나와 아버지 형제들과는 3촌이 된다. 여러 사람들에 대한 부모 자식들 간의 관계가 주어졌을 때, 주어진 두 사람의 촌수를 계산하는 프로그램을 작성하시오. 입력 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 .. 2021. 10. 22.
[알고리즘] 유니온-파인드 (자바) 유니온 파인드란? 말 그대로 union-find 알고리즘을 의미합니다.(주로 트리구조를 이용합니다.) 즉 집합-찾기 입니다. 같은 말로 disjoint-set이 있습니다. 사용 이유 1) 서로 다른 2개의 노드를 입력받아서 그 노드들을 합치거나, 2) find함수로 서로 다른 2개의 노드가 현재의 그래프에 속하는지 판별할 수 있습니다. 예제 코드 find 코드 public static int find(int x) { if( x == result[x]) { return x; } return result[x] = find(result[x]); } union 코드 public static void union(int x, int y) { x = find(x); y = find(y); if( x != y ) { .. 2021. 10. 19.
반응형