분류 전체보기(196)
-
이벤트
이벤트와 이벤트 핸들러 브라우저는 처리해야 할 특정 사건이 발생하면 이를 감지하여 이벤트를 발생시킨다. 이벤트가 발생되었을 때 실행되는 함수를 이벤트 핸들러라 하고, 이벤트가 발생했을 때 브라우저에게 이벤트 핸들러의 호출을 위임하는 것을 이벤트 핸들러 등록이라고 한다. 이벤트가 언제 발생할 지는 예상할 수 없다. 따라서 이벤트가 발생했을 때 호출되는 함수도 개발자가 명시적으로 호출하지 않고 브라우저에게 이벤트가 발생하면 이 함수를 호출하라고 위임권을 주는 것이다. 이벤트 핸들러 등록하기 이벤트 핸들러를 등록하는 방식에는 이벤트 핸들러 어트리뷰트, 이벤트 핸들러 프로퍼티, addEventListener 메서드 방식이 있다. addEventListener 방식을 많이 사용하지만 세 방식의 차이점이 무엇이고 ..
2024.04.23 -
Level 2️⃣ - 숫자카드 나누기
https://school.programmers.co.kr/learn/courses/30/lessons/135807 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제는 어렵지 않으나 유클리지 호제법을 구현한 코드만 외우고 있어서 간단한 예시와 함께 정리해보려고 한다. 🛠코드 그리고 gcd 함수는 두 수 사이의 최대공약수만 구할 수 있는 줄 알았는데 여러 수들의 최대공약수도 구할 수 있음을 배웠다. function solution(arrayA, arrayB) { let ret = []; let a = 0; let b = 0; arrayA.forEach((..
2024.04.23 -
Level 2️⃣ - 방금그곡
https://school.programmers.co.kr/learn/courses/30/lessons/17683 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🚀문제 해석 끝난 시각 - 시작 시각의 차이 (diff) 를 구한다. 분으로 바꿔서 해결한다. 악보의 길이를 diff보다 길다면 자르고, 짧다면 늘린다. m이 변경된 악보에 포함되어 있는지 확인한다. 되어있다면 ret에 넣어준다. 조건에 일치하는 음악이 여러개라면 정렬한다. 재생된 시간이 제일 긴 음악부터 정렬한다. 재생된 시간이 같다면 먼저 입력된 음악부터 정렬한다. 출력에 맞게 값을 리턴한다...
2024.04.23 -
미세먼지 안녕! (백준 17144)
https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 🚀문제 접근 과정을 두가지로 크게 나눌 수 있다. 하나는 확산 과정이고 하나는 공기 청정기를 가동하는 과정이다. 확산 과정 1. 미세먼지가 있는 영역을 구한다. 2. 각 위치마다 4방향 탐색을 한 후에 확산이 가능한 영역이면 미세먼지를 확산한다. 예외) 공기청정기가 있는 영역이나 범위를 벗어난 경우라면 확산시키지 못한다. 2-1. 이때 확산은 미세먼지가 있는 모든 영역에서 동시에 발생한다. 공기..
2024.04.23 -
인구 이동 (백준 16234)
https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 🚀문제 해석 1. DFS 그래프 탐색을 하면서 인구 수의 차이가 주어진 범위를 만족하는지 확인한다. 만족을 한다면 V배열에 담아준다. 만약 V배열의 길이가 1이면 인접한 나라와의 인구수 차이가 범위를 만족하지 않는 것이다. 이때는 다른 나라로 넘어가 DFS 탐색을 해야한다. 2. 만약 V배열의 길이가 2 이상이면 업데이트할 인구수를 계산한다. 수식은 (연합의 인구수) / (연합을 이..
2024.04.19 -
틱택토 (백준 7682)
문제 틱택토 게임은 두 명의 사람이 번갈아가며 말을 놓는 게임이다. 게임판은 3×3 격자판이며, 처음에는 비어 있다. 두 사람은 각각 X 또는 O 말을 번갈아가며 놓는데, 반드시 첫 번째 사람이 X를 놓고 두 번째 사람이 O를 놓는다. 어느 때든지 한 사람의 말이 가로, 세로, 대각선 방향으로 3칸을 잇는 데 성공하면 게임은 즉시 끝난다. 게임판이 가득 차도 게임은 끝난다. 게임판의 상태가 주어지면, 그 상태가 틱택토 게임에서 발생할 수 있는 최종 상태인지를 판별하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 줄은 9개의 문자를 포함하며, 'X', 'O', '.' 중 하나이다. '.'은 빈칸을 의미하며, 9개의 문자는 게임판에서 제일 윗 줄 왼쪽부터의 순서이다. 입력의 마지막에는 문자..
2024.04.19