Tech-blog
-
new Array() vs []Tech-blog/JavaScript 2024. 2. 19. 08:35
javascript에서 배열을 생성하는 방법 2가지 객체를 이용한 선언 let arr = new Array() 객체 리터럴을 이용한 선언 let arr = [] 두 가지 방법은 큰 차이가 없으나 약간의 성능 차이와 직관성에서 차이가 있다. 예를 들어 new Array()의 경우 let arr = new Array(5); // 숫자 하나의 경우 배열의 크기를 선언 console.log(arr) // [empty × 5] arr.length : 5 let arr = new Array(1,2,3,4,5) // 괄호에 입력한 값으로 배열을 초기화 console.log(arr) // [1, 2, 3, 4, 5] arr.length : 5 //속도 아래의 반복문 20번 실행했을 경우 console.time('new..
-
백준 - 13223 소금폭탄Tech-blog/Algorithm 2023. 8. 4. 15:27
문제는 소금을 투하할 시간 - 현재시간을 하면 되는 간단한 문제였다. package baekjun.String; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Baekjoon13223 { public static String time(int time){ // 00:00:01 actionTimes[2]){ actionTimes[2] += 60; actionTimes[1] -= 1; } answerSec = actionTimes[2] - nowTimes[2]; if (nowTimes[1] > actionTimes[1]){ actionTimes[1] += 60; act..
-
백준 : 토너먼트 - 1057번 (java)Tech-blog/Algorithm 2023. 4. 14. 13:52
문제 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 한다. 이긴 사람은 다음 라운드에 진출하고, 진 사람은 그 라운드에서 떨어진다. 만약 그 라운드의 참가자가 홀수명이라면, 마지막 번호를 가진 참가자는 다음 라운드로 자동 진출한다. 다음 라운드에선 다시 참가자의 번호를 1번부터 매긴다. 이때, 번호를 매기는 순서는 처음 번호의 순서를 유지하면서 1번부터 매긴다. 이 말은 1번과 2번이 스타를 해서 1번이 진출하고, 3번과 4번이 스타를 해서 4번이 진출했다면, 4번은 다음 라운드에서 번호 2번을 배정받는다. 번호를 다시 배정받은 후에 한 명만 남을 때까지 라운드를..
-
프로그래머스 Lv-2 덧칠하기 (java)Tech-blog/Algorithm 2023. 3. 18. 18:42
이번 문제를 풀면서 문제의 규칙 중 - 롤러가 벽에서 벗어나면 안됩니다.롤러가 벽에서 벗어나면 안 됩니다. 이 규칙 때문에 생각하는 시간이 길었다 하지만 다시 생각을 해보니 롤러가 벽을 넘어가던 말던 결국 칠해야 하는 횟수는 똑같기 때문에 신경쓸 필요가 없던 문제였다.... import java.util.*; class Solution { public int solution(int n, int m, int[] section) { HashMap total = new HashMap(); int cnt = 0; for (int i = 1;i
-
백준 : 단어 정렬 - 1181번 (java)Tech-blog/Algorithm 2023. 3. 14. 12:17
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.*; public class WordSort { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); // 단어의 개수 N 입력받기 // 단어를 저장할 리스트 List list = new ArrayList(..
-
백준 : 팰린드롬 - 1213번 (java)Tech-blog/Algorithm 2023. 3. 7. 21:42
import java.util.Scanner; public class Palindrome { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.next(); int[] cnt = new int[26]; // 각 알파벳의 등장 횟수를 저장하는 배열 for (int i = 0; i < str.length(); i++) { cnt[str.charAt(i) - 'A']++; } int oddCnt = 0; // 등장 횟수가 홀수인 알파벳의 개수 int midChar = -1; // 중앙에 배치할 알파벳을 저장하는 변수 for (int i = 0; i < 26; i++) { if (cnt[i] %..
-
백준 : 단지번호붙이기 - 2667번 (java)Tech-blog/Algorithm 2023. 3. 3. 12:32
import java.util.*; public class Numbering { static int[][] map; static boolean[][] visited; static int[] dx = {0, 0, 1, -1}; static int[] dy = {1, -1, 0, 0}; static int N, count; static ArrayList counts; public static void main(String[] args) { Scanner sc = new Scanner(System.in); N = sc.nextInt(); map = new int[N][N]; visited = new boolean[N][N]; counts = new ArrayList(); for (int i = 0; i < N..
-
백준 : A -> B - 16953번 (java)Tech-blog/Algorithm 2023. 3. 2. 22:02
import java.util.*; public class AB { static int A, B; public static void main(String[] args) { Scanner sc = new Scanner(System.in); A = sc.nextInt(); B = sc.nextInt(); int cnt = 1; // A 자체가 B인 경우를 고려하여 1로 초기화 while (B > A) { if (B % 10 == 1) { // B의 일의 자리가 1인 경우 B /= 10; cnt++; } else if (B % 2 == 0) { // B가 짝수인 경우 B /= 2; cnt++; } else { // 둘 다 아닌 경우 cnt = -1; break; } } if (A != B) cnt = -1; ..