본문 바로가기

분류 전체보기383

20230614 [Java] 문제풀이 20230614 [Java] 문제풀이 [백준] 10818 최소, 최대 배열을 이용하여, 주어진 숫자들의 최소와 최대값을 찾으면 된다 파이썬을 이용할 때에 N개의 입력값을 공백으로 주어진 것을 한번에 리스트로 받아서, for문을 돌며 최소와 최대값을 찾았다 자바 같은 경우 scanner.next(); 를 사용하여 하나의 for문에서, 입력값을 받으면서 최소와 최대값을 찾아냈다 만약에 배열을 출력하고 싶을 때에는 Arrays 를 import 받고, Arrays.toString(배열이름) 으로 출력하면 된다 import java.util.Arrays; import java.util.Scanner; public class Baekjoon10818 { public static void main(String[] a.. 2023. 6. 14.
Java 문제풀이 (Programmers) Java 문제풀이 (Programmers) 같은 숫자는 싫어 배열이 주어진다 배열 안에 숫자가 주어지는데, 연속으로 나열된 같은 숫자는 하나의 숫자로 반환한다 예) [1, 1, 3, 4, 4, 4, 4, 5, 6, 6, 6, 7] => [1, 3, 4, 5, 6, 7] 1, 4, 6은 모두 연속으로 같은 숫자로 나열되어 있어, 하나로 줄인다 간단하게, 먼저 제일 앞에 있는 숫자를 배열에 미리 넣는다 그 다음은 인덱스 1로 시작하여, 전의 숫자와 비교하며, 전의 숫자와 다르면, answer 배열에 해당 숫자를 넣으면 된다 import java.util.*; public class Solution { public ArrayList solution(int []arr) { ArrayList answer = ne.. 2023. 6. 14.
Java 문제풀이 (백준) Java 문제풀이 [백준] 1021번 회전하는 큐 1부터 N번의 숫자가 큐 안에 있다 큐 안에서 꺼내야 할 숫자들이 주어진다 큐에서는 제일 앞에 숫자를 꺼낼 수 있다 제일 앞에, 원하는 숫자가 없으면 왼쪽으로 한칸씩 또는 오른쪽으로 한칸씩 움직여야 한다 Deque를 활용했다 만약 queue 안에, 꺼내야 할 숫자의 인덱스가 queue 안에 있는 숫자를 반으로 나눴을 때, 인덱스가 그 이하일 때에는 왼쪽으로 한칸씩 움직여준다 import java.util.ArrayDeque; import java.util.Scanner; import java.util.Deque; public class Main { static int findIndex(int num, Deque queue) { int index = 0; .. 2023. 6. 13.
[Java] Deque [Java] Deque Deque는 Double-Ended Queue의 줄임말이다 양쪽에서 데이터를 추가, 삭제, 조회를 할 수 있는 자료구조이다 Stack과 Queue를 합친 상태다 Deque의 메서드들 import java.util.*; Deque deque = new LinkedList(); // ========== 삽입 ============= // 덱 앞에 값을 넣는다 // 덱에 용량 제한이 있고, 초과하면 예외를 발생한다 deque.addFirst(value); deque.push(value); // 덱 앞에 값을 넣는다 // 덱에 용량 제한이 있고, 초과하면 false를 반환한다 deque.offerFirst(value); // Deque, 제일 뒤에 값을 넣는다 // 덱에 용량 제한이 있고.. 2023. 6. 13.
[Java] Queue [Java] Queue Queue는 선입선출, FIFO (First In First Out)으로 제일 먼저 들어간 값이, 제일 먼저 나오는 자료구조다 식당 줄을 서서 기다리는 것과 같다 (제일 먼저 와서 기다린 사람이, 제일 먼저 들어간다) Queue 클래스를 이용하여 사용할 수 있다 import java.util.LinkedList; import java.util.queue; Queue queue = new LinkedList(); Enqueue 는 값을 큐에 넣는 것이다 // enqueue 메서드 queue.add(value); queue.offer(value); Dequeue는 값을 큐에서 빼는 것이다 (위에 설명과 같이, 제일 먼저 들어온 값이 제일 먼저 빠진다) // dequeue 메서드 que.. 2023. 6. 13.
[Java] Stack [Java] Stack Stack은 Last In First Out, 후입선출이다 즉 제일 늦게 stack에 들어간 값이, 제일 먼저 나오게 된다 책을 쌓아뒀다고 생각하면 된다 책을 쌓아두게 되면, 제일 위에 있는 책을 먼저 꺼낸다 자바에는 스택 클래스가 존재한다 import java.util.Stack; Stack stack = new Stack(); Stack에 값 넣기 stack.push(value); stack에서 값을 빼기, 무조건 제일 늦게 추가된 값이 빠지게 된다 stack.pop() 조회를 할 때에는 제일 늦게 들어간 값을 조회한다 stack.peek(); 그 외 // 값이 있는지 확인 stack.contains(1); // 스택의 사이즈 출력 stack.size(); // 스택 안에 값이.. 2023. 6. 13.
[Java] 백준 25556 포스택 [Java] 백준 25556 포스택 풀이 랜덤으로 되어있는 순열을, 4개의 스택을 이용해서 오름차순으로 정렬을 하는 것이다 여기서 중요한 것은 각 모든 스택은 오름차순으로 나열이 되어 있어야 한다 이유는, 제일 큰 수를 오른쪽부터 왼쪽으로 숫자가 1씩 떨어지면서 정렬을 해야 하는 상황이다 그래서 만약에 스택에 모든 숫자를 넣을 수 있다면, 오름차순으로 정렬이 가능하다 반대로 스택에 숫자 하나라도 못 넣으면, 정렬이 불가능해진다 코드를 보게 되면, 스텍에 값들을 넣었지, 빼는 것은 생략했다 import java.util.Stack; import java.util.Scanner; import java.util.ArrayList; public class Main{ public static void main(S.. 2023. 6. 13.
[TIL] Java (Regex) [TIL] Java (Regex) Regex란? Regular Expression으로 특정 패턴을 찾아서, 문자를 찾거나 교체를 할 수 있다 예를 들어, 전화번호 형태로 입력을 안 하면, 뒤로 못 넘어갈 수 있도록 만들 수 있다 또는 한국어로만 입력이 가능하게 설정을 할 수 있다 Regex는 java.util.regex.* 를 통해서 사용이 가능하다 클래스 Pattern Class : 문자를 찾을 때에, 특청 패턴을 정의한다 Matcher Class : 패턴을 찾을 때에 사용한다 PatternSyntaxException Class : 정규식 (Regular Expression)에 에러를 보여준다 예시 if (Pattern.matches("^[ㄱ-ㅎ가-힣]*$", candidateName) == true).. 2023. 6. 12.
프론트엔드와 백엔드 차이 프론트엔드와 백엔드 차이 제로베이스 백엔드 스쿨 내 경험 멀티캠퍼스 풀스택 개발 과정을 배우며, 프론트엔드와 백엔드를 모두 경험할 수 있었다. 실제로 프로젝트를 할 때에 모두 풀스택으로 참여를 했다. 처음부터 기능을 구현하고, 구현한 기능을 시각화 하는 재미가 있었다. 혼자 모든 것을 구현하니, 시간은 걸렸지만, 성취감은 배로 쌓이게 되었다. 프론트엔드와 백엔드 차이 화면 프론트엔드는 화면으로 보여지는 것을 얘기한다. 프론트엔드 쪽을 다루며 UI/UX (User Interface / User Experience)에 대해 많이 들었다. 즉, 유저들이 해당 서비스를 사용할 때에, 직접적으로 상호 작용하는 부분이 프론트엔드이다. 좀 더 생각하면, 프론트엔드를 통해 새로운 유저를 유치하거나, 기존 유저들을 유지.. 2023. 6. 12.