기술블로그334 [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. [TIL] Java (Scanner) [TIL] Java (Scanner) Scanner란? 파이썬을 공부하면서, 코드를 짤 때, 또는 문제를 풀 때에, 유저들이 값을 입력했다 파이썬에서는 간단하게 input() 메서드를 사용하면, 값을 입력 받을 수 있었다 java는 Scanner라는 클래스가 있다 (java.util 패키지 안에 있다) 파이썬과 달리, 자바에서는 입력값을 받을 때에, 무슨 자료형을 입력 받을지 코드에 명시를 해야 한다 즉 다른 입력값을 받게 된다면, 바로 에러가 뜨게 된다 import java.util.Scanner; public class Practice { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); } } impo.. 2023. 6. 11. [TIL] Java (LocalDate) [TIL] Java (LocalDate) 출처 : 제로베이스 백엔드 스쿨 LocalDate import java.time.* 시간 관련된 모든 클래스를 가지고 올 수 있다 LocalDateTime, LocalDate, DayOfWeek 등 import java.time.*; // 현재 날짜, yyyy-mm-dd LocalDate nowDate = LocalDate.now(); // 1996년 2월 17일에 대한 날짜 LocalDate date = LocalDate.of(1996, 2, 17); // =========현재 날짜를 출력하기============== System.out.println(nowDate); // output : 2023-06-02 // =========현재 년도를 출력하기======.. 2023. 6. 8. [TIL] Java (random number) [TIL] Java (random number) 출처 : 제로베이스 백엔드 스쿨 Math.random() double num = Math.random(); System.out.println(num); // output : 0.2868302445390779 System.out.println(String.format("%6.0f", num * 1000000)); // output : 286830 무작위 숫자를 출력해준다 여기서 Math.random() 은 double 형태의 자료형 밖에 안 된다 즉 int 를 자료형으로 선택했을 때는 에러가 발생한다 0.0 이상, 1.0 미만의 double 숫자를 가지고 와준다 String.format() 을 통해서, 어느 정도 정수의 값을 가지고 올 수 있다 Random .. 2023. 6. 7. [TIL] Java (String.format()) [TIL] Java (String.format()) 출처 : 제로베이스 백엔드 스쿨 String.format() 문자열로 포멧을 하여 반환을 하는 것이다 %d : 10진수, 정수 형태를 포멧하는 것이 %s : 문자열을 포멧하는 것이고, 숫자를 입력할 경우, 그만큼 빈 공간을 추가해준다 %f : float 숫자를 문자열 형태로 포멧을 할 수 있다 %t : 날짜시간 형식을 문자열 형태로 포멧할 수 있다 %c : 유니코드 문자 형식을 문자열 형태로 포멧할 수 있다 %o, %x : 8진수, 16진수를 문자열 형태로 포멧하는 것이다 int num = 12; System.out.println(String.format("%d", num)); // output : 12 System.out.println(String.f.. 2023. 6. 6. 19. Java 클래스 (추상 클래스, 인터페이스) 19. Java 클래스 (추상 클래스, 인터페이스) 추상 클래스 추상화 클래스는 객체를 만들 수 없다 public abstract class PlayerMovement{ abstract void kick(); } public class Player extends PlayerMovement{ public void kick() { System.out.println("Kick"); } } 어떠한 특정 행동을 해도, 사람마다 다 다르게 행동한다 공부를 할 때에, 계획을 먼저 세운다음 공부를 하는 사람이 있고 그냥 공부하는 사람이 있고 노래를 들으면서 공부하는 사람과, 그렇지 않은 사람들이 있다 위처럼, 큰 틀에서는 같은 행동을 하지만, 자세한 부분에서 차이점이 있으면, 추상화를 통해 큰 틀을 만들고, 그 클을 .. 2023. 6. 5. 이전 1 ··· 11 12 13 14 15 16 17 ··· 38 다음