반응형

분류 전체보기 311

자바스크립트 배열 내 모든 숫자의 합 구하기 (for, forEach, reduce)

안녕하세요. Javascript에서 배열에 들어있는 모든 숫자의 합계를 계산하는 방법에 대해서 알아보겠습니다. for loop forEach() 메소드 reduce() 메소드 총 3가지 방법으로 배열 내에 모든 숫자들의 합계를 구해보겠습니다. 1. for loop const nums = [1, 2, 3, 4, 5]; let sum = 0; for (let i=0; i { sum += num; }) // 15 3. reduce() 메소드 const nums = [1, 2, 3, 4, 5]; const sum = nums.reduce((accumulator, currentValue) => { return accumulator + currentValue }, 0); // 15 reduce()는 ES6에서 도입..

JAVA 자바 정규표현식으로 주민등록번호, 이메일 유효성 검사하기 (Pattern, Matcher)

정규표현식은 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 형식언어다. 주로 전화번호, 주민등록번호, 이메일 등 형식이 정해져있는 데이터에 대해 유효성 검사를 진행할 때 사용된다. 정규표현식 사용 방법 자바에서 정규표현식을 사용할 때는 java.util.regex 패키지 안에 있는 Pattern 클래스와 Matcher 클래스를 주로 사용한다. Pattern 클래스 java.util.regex.Pattern 클래스의 matches() 메서드를 활용해서 해당 문자열이 정규표현식에 적합한 상태인지 검증할 수 있다. 매개 변수는 (정규표현식, 문자열)로 2개이고, 리턴값은 true, false를 반환한다. import java.io.IOException; import java.util.regex.Pa..

[JAVA] 백준 5107번: 마니또

https://www.acmicpc.net/problem/5107 5107번: 마니또 N명의 사람들이 있다. 이들은 각자 다른 한 명의 이름이 적힌 쪽지를 받아서, 그 사람에게 몰래 선행을 베푼다. 이때 자기 자신의 이름을 받을 수는 없으며, 선행을 받은 사람은 누가 자신을 도와 www.acmicpc.net ✅ 실버Ⅰ 🔶 풀이 A에서 출발해서 B, C, ··· 를 지나서 다시 A로 돌아오는 경우가 몇 개나 발생하는가. 1️⃣ 선행을 베푸는 사람과 선행을 받는 사람은 결코 중복되지 않는다. 2️⃣ 이름의 길이는 10글자가 넘지 않고 테스트 케이스마다 사람은 3명에서 20명이다. 해당 문제에서는 딱히 신경써야할 조건은 없다. 1️⃣번 조건을 봤을 때 HashMap을 사용하면 될 것 같다고 생각했다. Hash..

[JAVA] 백준 1103번: 게임

https://www.acmicpc.net/problem/1103 1103번: 게임 줄에 보드의 세로 크기 N과 가로 크기 M이 주어진다. 이 값은 모두 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 보드의 상태가 주어진다. 쓰여 있는 숫자는 1부터 9까지의 자연수 또는 www.acmicpc.net ✅ 골드 Ⅱ 🔶 풀이 보드에 적힌 숫자만큼 동,서,남,북 4방향으로 이동하면서 최대 몇 번의 동전을 움직일 수 있는지 구하는 문제. dfs와 dp를 이용하는 문제. 1️⃣ 동전이 구멍에 빠지거나 보드의 바깥으로 나가면 게임 종료 2️⃣ 동전을 무한번 움직일 수 있을 경우 -1을 출력 게임이 종료되는 조건은 위와 같다. 1️⃣번 조건은 dfs, bfs를 한 번이라도 풀어봤다면 쉽게 해결할 수 있다...

[JAVA] 백준 15831번: 준표의 조약돌

https://www.acmicpc.net/problem/15831 15831번: 준표의 조약돌 첫 줄에 조약돌의 총 개수 N, 준표가 원하는 검은 조약돌의 최대개수 B와 하얀 조약돌의 최소개수 W가 주어진다. 둘째 줄에는 N개의 조약돌의 정보가 한 줄로 주어진다. i번째 문자가 B라면 i번 조 www.acmicpc.net ✅ 골드 Ⅲ 🔶 풀이 해당 문제는 그냥 느낌대로 풀고 봤더니 알고리즘 분류가 두 포인터라고 한다. 1️⃣ 검은 조약돌의 개수를 B개 이하로 줍고 싶다. 2️⃣ 하얀 조약돌의 개수를 W개 이상으로 줍고 싶다. 위 조건을 충족되는 가장 긴 구간의 산책로 길이를 구하면 된다. 예제 1번을 통해서 어떻게 진행되는지 살펴보겠다. 10 1 2 WBBWWBWWBW 우선 시작점과 도착점을 모두 0으..

알고리즘 2023.07.26

IntelliJ IDE 다운로드 방법 및 프로젝트 생성하기

IntelliJ는 JetBrains사에서 제작한 상용 자바 통합 개발 환경(IDE)이다. 요즘 이클립스보다 더 많이 사용하는 추세이기에 설치 방법에 대해서 포스팅해보려고 한다. IntelliJ 다운로드 1. IntelliJ IDEA 사이트에 접속한다. (https://www.jetbrains.com/) JetBrains: Essential tools for software developers and teams JetBrains is a cutting-edge software vendor specializing in the creation of intelligent development tools, including IntelliJ IDEA – the leading Java IDE, and the Kotl..

[JAVA] 백준 2294번: 동전 2

https://www.acmicpc.net/problem/2294 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주어 www.acmicpc.net ✅ 골드 Ⅴ 🔶 풀이 N가지 종류의 동전이 주어지면 동전을 최대한 적게 사용해서 K원을 만들어라. 다이나믹 프로그래밍(dp) 문제로 아래의 조건만 신경써주면 딱히 어려운 게 없는 문제라고 생각한다. 1️⃣ 각각의 동전을 여러 개 사용할 수 있음 2️⃣ 정확하게 K원을 만들지 못 하면 -1을 출력함 예제로 점화식을 찾아보겠다. 1원 동전 1 2 3 4 5 6 7 8 ..

자바 디컴파일러 JD-GUI 사용 방법 (.jar, .class 파일)

자바로 작성되어있는 .java 자바 파일을 컴파일하면 바이트코드인 .class 클래스 파일이 생성된다. 컴파일된 .class 클래스 파일은 JVM(Java Virtual Machine)에서만 해석할 수 있는 코드로 변경되므로 개발자는 읽을 수가 없다. 해당 파일을 보려면 다시 .java 파일로 되돌리는 디컴파일 과정이 필요하다. 자바 디컴파일러 JD-GUI 다운로드 JD-GUI는 바이트코드로 이루어진 .class 클래스 파일을 소스코드로 이루어진 .java 자바 파일로 변환해 주는 무료 오픈 소스 도구로 현재 가장 많이 쓰이는 디컴파일러다. http://java-decompiler.github.io/ Java Decompiler The “Java Decompiler project” aims to deve..

쿠키와 세션 차이, 그리고 캐시는 어떻게 다를까?

쿠키 (Cookie) 사용자가 어떠한 웹 사이트에 방문했을 경우, 그 사이트가 사용하고 있는 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일로 HTTP에서 클라이언트 상태 정보를 클라이언트 PC에 저장하였다가 필요 시 정보를 참조하거나 재사용할 수 있다. 1. 동작방식 1) 클라이언트가 페이지를 요청 (사용자가 웹 사이트에 방문) 2) 서버에서 쿠키를 생성 3) HTTP 헤더에 쿠키를 포함시켜 응답 4) 브라우저가 종료되어도 쿠키 만료 기간이 있다면 클라이언트에서 보관 5) 같은 요청을 할 경우 HTTP 헤더에 쿠키를 함께 보냄 6) 서버에서 쿠키를 읽어 이전 상태 정보를 변경할 필요가 있을 때 쿠키를 업데이트하여 변경된 쿠키를 HTTP 헤더에 포함시켜 응답 2. 예시 ● 로그인 시 "아이디와 ..

사용 중인 포트 종료하는 방법 - Identify and stop the process that's listening on port 8080 or configure this application to listen on another port.

에러 이클립스, IntelliJ등에서 서버를 실행시켰을 경우, 아래와 같이 이미 사용 중인 포트라고 에러가 발생한다. 해결 방법 1. 명령 프롬프트(cmd)를 관리자 권한으로 실행한다. 2. netstat -a -o 를 입력한다. 3. taskkill /f /pid PID번호를 입력 후에 아래와 같은 메시지가 발생하면 성공.

반응형