본문 바로가기

프로그래밍/Java22

[Java / 자바의 정석 / Java 기초] Stream 사용하기 Stream이란? 스트림은 배열을 활용하는 방법이다, 데이터의 흐름대로 작동하는 뜻으로, 스트림과 람다형식을 잘 활용하면 코드 길이가 크게 개선된다. 아래는 steam을 사용하는 예시이다. 예시 코드 총 3개의 stream을 사용하는데(stream1, 2, 3) stream1은 순서대로 print하는것이고, stream2는 skpi과 limit를 사용해서 특정 위치(2)부터 5개를 print하는것이다. [ex(1,2,3,4,5,6,7)이라면, 3,4,5,6,7이 나온다는 얘기] stream3는 stream2에서 짝수만 print 하는것. public class StreamTest { public static void main(String[] args) { IntStream stream1 = IntStre.. 2024. 1. 18.
[Java / 자바의 정석 / Java 기초] 문자열 쉬프트하기 문자열 쉬프트 어떠한 문자열을 좌 또는 우측으로 쉬프트(이동)하는 코드가 있다, 잘안쓰지만 for문과 String을 이해하기 좋은 문제이다. 한칸만 움직이기 코드는 간단하다, 문자열의 길이를 기준으로 -1로 옮겨준다음, 옮김으로서 없어진 첫번째 문자를 맨 뒤에 더해준것이다. ex) String_A="ABCDE"라면, "BCDE" + "A" 형태로 해준 것이다. //한칸 우측이동 public static String shift(String s) { return s.charAt(s.length()-1)+s.substring(0, s.length()-1); } 응용문제(쉬프트를 연속해서 한바퀴 돌기) 코드 자체는 아주 간단하다, 위에서 작성한 함수 shift를 문자열의 길이만큼 for문으로 반복 실행하는 것이.. 2024. 1. 11.
[Java / Java의 정석 / 자바 기초] 문자열을 쉬프트 하기(+쉬프트한 문자열 비교하기) 문자열 쉬프트 JAVA 문제중 입력값 String_A와 String_B를 비교하여, String_B가 String_A를 쉬프트했을때의 모양인지 여부를 확인하는 코드 이다. 예를들어 String_A="abc"라면 String_A를 쉬프트한 값은 "abc" / "bca" / "cab" 가 가능할 것이다. 이때 String_B = "bca"라면 True "cba" 라면 False를 return한다. 코드 코드는 간단하다, 입력값 String_A를 String_A의 길이만큼 1번씩 좌로 쉬프트하는데, s.charAt(s.length()-1) + s.substring(0,s.length()-1); 쉬프트 도중 String_A의 값이 String_B와 같을때, True를 return하고 Break하는 코드다. pu.. 2024. 1. 9.
[Java / 자바 기초 / 자바의 정석] -와 +가 쌍으로 이루어진 값의 최대값 출력 자바 문제 List가 [-1 , 1 , -3 , 3 , 5 , 6 , 8] 일때 조건: -와 +가 쌍으로 이루어진 값이 -> 1과 3일때, 최대값은 : 3이다. 위 조건을 만족하는 자바 코드 public class Pair_List_Maximum { static void pairsInt(int[] A){ //-값 +값이 서로 쌍인지 확인하고 쌍일경우들의 값들중 최대값 출력하기 //배열이 저장될 임의의 정수 only 배열 생성 ArrayList arrList = new ArrayList(); int n = A.length; HashMap hash_table = new HashMap(); //정수 2개로 이루어진 HashMap 생성 for (int i = 0; i < n; i++) { hash_table.p.. 2024. 1. 5.
[Java/자바/자바의 정석] 정규표현식을 활용한 비밀번호 허용 여부 체크하는 법 특정 조건을 만족하는 비밀번호인지 검증하는 Java 코드 보통 회원가입이나 로그인할때, 입력하는 비밀번호가 정해진 형태를 만족하는지 체크하는 경우가 많다. 예를 들어 대문자와 특수문자는 무조건 1개 이상 들어가야 한다던지, 아이디와 같은 비밀번호를 입력해서는 안된다던지, 하는 조건들을 검증하는 것이다. 추가로 비밀번호 뿐만 아니라, 이메일에서도 사용될 수 있는데, 이메일 형태인지를 검증하는 경우도 지정할 수 있다. ex) xxxxx@xxxxx.xxx 와 같은 형태를 만족해야 한다/ 라는 조건을 충족하는지 확인할 수 있다. 비밀번호 조건 만족여부 검증 자바 코드 조건 : 숫자 1개, 대소문자 1개씩, 최소길이는 5 이상이여야 한다. private static boolean checkPassword(Stri.. 2023. 12. 30.
[내가 이해하기 위한 용어정리] Restfull API란? 1) 먼저 Rest란? Representational(표현) State(상태) Transfer(전송)의 줄임말로써 페이지와 서버가 정보를 주고 받는 표현방법이다. 크게 4가지로 분류되는데 CRUD >> Create(생성) - POST >> Read(읽기) - GET >> Update(수정) - PUT >> Delete(삭제) - DELETE 로 이루어져 있다. 2) API(Application Programming Interface)란? 컴퓨터끼리 서로 정보을 할때 URL또는 request를 사용해서 교환가능 하도록 하는 것 3) REST API란? REST기반으로 API를 구성하는것 사용자(클라이언트)가 어떠한 검색을 했다고 할때 검색에 대한 정보를 서버에게 요청(GET)하면 해당하는 정보를 JSON형.. 2023. 12. 26.
[JAVA / 자바 / 자바 기초] 배열 랜덤 생성 + 랜덤하게 섞기 원하는 길이로 (정수) 배열 랜덤 생성 정수로 이루어진 배열을 랜덤하게 생성한데, 이때 갯수는 내가 원하는 값으로 지정한다. 굳이 정수일 필요는 없고 원하는 배열을 Math.random으로 만들 수 도 있다. public class shuffle { public static void main(String[] args) { //내가 원하는 길이 여기서는 10으로 한다. //순서대로 배열 생성 int[] arr1 = new int[10]; for(int i=0;i 2023. 12. 14.
[JAVA / 자바 / 자바 기초] 정수 배열 사이 값 구하기 + 카운트 -문제 문제 1. 정수로 이루어진 배열이 있다. 2. 순서가 없이 무작위로 입력되어있음 3. 제일 작은값(min)과 제일 큰값(max)사이에 빈값이 몇개인지 카운트하는 클래스를 생성하라 바로 코드 짜기 import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class CheckBlankCount { private static List countBlankValues(int[] ints) { //정수로 이루어진 List를 입력하면 빈칸인 값이 몇개인지 count하는 함수 //누락값 확인용 List arrList = new ArrayList(); int a_len = ints.length; //int[]인 ints를 오름차순.. 2023. 12. 13.
[JAVA / 자바 / 자바 기초] JAVA에서 쓰는 this란? /this가 의미하는 것 JAVA의 this란? 자바의 this나 python의 self같은 애들이 있는데 얘들이 뭘 의미하는건지 매우 헷갈렸다. 인스턴스나 객체도 무슨 소리인지 몰랐는데 이해하고 보니 매우 간단했다 다른 헷갈리는 사람들을 위해 매우 간단하게 설명하기+미래의 내가 헷갈리면 보길바란다. 머리를 비우고 보면 편하다. This 예시 JAVA를 사용해서 어떤 변수 Human을 만들어주는 함수를 작성한다고 가정하자. (class generate_human() -> 사람1,사람2,사람3.......) 1. (이름,나이,몸무게)를 입력해서 "사람1"을 만들려고 한다. public class Human { String name; int age; double weight; Human(String name, int age, dou.. 2023. 12. 13.