Java/Short 개발

Java/Short 개발

[Java/Short] 1차원 배열, 2차원 배열 간 변환 방법(One Dimension Array to Two Dimension Array)

해당 글에서는 1차원 배열을 2차원 배열로 바꾸거나 2차원 배열을 1차원 배열로 바꾸는 방법에 대해 알아봅니다. 1) 1차원 배열을 2차원 배열로 변환방법 1. for문을 이용한 방법 💡 for문을 이용한 방법 1. 1부터 9까지의 숫자가 저장되어 1차원 배열을 구성합니다. 그리고 rows(행)와 cols(열) 변수는 각각 2차원 배열의 행과 열의 수를 저장하고 있습니다. 2. rows(행)와 cols(열)의 크기를 가진 빈 2차원 배열을 선언합니다. 3. row(행)과 cols(열)을 순회하면서 1차원 배열의 값을 2차원 배열에 대입합니다. 4. 결과값을 출력합니다. // 1 int[] oneDArray = {1, 2, 3, 4, 5, 6, 7, 8, 9}; int rows = 3; int cols =..

Java/Short 개발

[Java/Short] SecureRandom을 이용한 랜덤 문자열 생성 방법: 숫자, 문자, 특수문자 조합, 임시 비밀번호

해당 글에서는 SecureRandom 클래스를 사용하여서 랜덤 문자열을 생성하는 방법에 대해 알아봅니다. 또한 임시 비밀번호로 이용할 수 있는 방법에 대해서도 알아봅니다. 1) SecureRandom을 이용한 랜덤 숫자/문자(난수) 생성방법💡 SecureRandom을 이용한 랜덤 숫자/문자(난수) 생성방법 - 아래의 글을 참고하시면 이전에 작성한 글을 확인하실 수 있습니다.import java.security.SecureRandom; /** * 공통 유틸 * * @author : lee * @fileName : CommonUtils * @since : 1/22/24 */ public class CommonUtils { private CommonUtils() { } /** * 자릿수(digit) 만큼 랜덤..

Java/Short 개발

[Java/Short] 소문자/대문자 범위 내에 합, 차이 구하는 방법 : ASCII Code 활용

해당 글에서는 소문자, 대문자 범위 내에서 합과 차이를 구하는 방법에 대해 알아봅니다. 해당 방법은 ASCII Code를 이용하여 구합니다. 💡[참고] ASCII Code 표 1) 두 개의 문자 간의 차이 💡 두 개의 문자 간의 차이 - 두 개의 문자(char)가 존재하는 경우 소문자, 대문자 범위 내에서 차이를 구하는 방법에 대해 알아봅니다. 1. 소문자 내에서 문자 간의 차이 💡 소문자 내에서 문자 간의 차이 - 소문자의 ASCII Code 범위(97 ~ 122)를 이용하여 문자 간의 차이를 구합니다. 1. 함수는 두 개의 char형 파라미터 a와 b를 받습니다. 2. 두 문자 a와 b를 문자열로 변환한 후, 첫 번째 문자를 가져와 ASCII 코드값으로 변환합니다. 이후 두 ASCII 코드값의 차를 ..

Java/Short 개발

[Java/Short] 소문자/대문자의 왼쪽/오른쪽 회전(이동) 방법

해당 글에서는 제공받은 문자열을 기반으로 회전수(rotation) 값에 따라 각각 문자를 왼쪽으로 이동하거나 오른쪽으로 이동하는 방법에 대해 알아봅니다. 1) 소문자의 왼쪽/오른쪽 회전(이동) 방법 1. 그림으로 이해 💡 소문자의 왼쪽 회전(이동) 방법 - "abcdefghijk"의 문자열의 각각의 요소를 분리한 뒤 왼쪽으로 3칸 이동하는 과정입니다.(rotation = -3) 💡 소문자의 오른쪽 회전(이동) 방법 - "abcdefghijk"의 문자열의 각각의 요소를 분리한 뒤 오른쪽으로 3칸 이동하는 과정입니다.(rotation = 3) 2. 소스코드로 이해 💡 소문자 문자열 왼쪽/오른쪽 회전(이동) 방법 - “abcdefghijk”라는 문자열을 제공받았을 때 소문자를 기준으로 rotation(회전 수..

Java/Short 개발

[Java/Short] 하나의 배열 내 요소 비교 방법 : 전체 요소, 독립적 비교

해당 글에서는 하나의 배열을 기준으로 요소들 간의 비교 방법에 대해서 알아봅니다. 1) 하나의 요소를 기준으로 전체 요소 비교 방법 1. 하나의 요소 기준 전체 요소 비교 : 본인 포함 💡 하나의 요소 기준 전체 요소 비교 : 본인 포함 - 비교 기준이 되는 arr[i] 값을 기준으로 ‘내 자신’을 포함하여 다음 요소(arr[j])를 비교합니다. int[] arr = {1, 2, 3, 4, 4, 5, 6}; for (int i = 0; i < arr.length; i++) { for (int j = i; j < arr.length; j++) { System.out.println("arr[i] :: " + arr[i] + " arr[j] :: " + arr[j]); } } arr[i] arr[j] 1 1 ..

Java/Short 개발

[Java/Short] IPv4, IPv6 정규 표현식(RegExp) 구성 방법

해당 글에서는 IPv4, IPv6에 대한 정규식을 수행하는 방법에 대해 알아봅니다. 1) IPv4 💡 IPv4 - 인터넷 프로토콜 버전 4로 컴퓨터와 같은 디바이스가 인터넷을 통해 서로 통신하기 위해 사용하는 주소 체계입니다. - 각 디바이스에 고유한 식별자를 제공하며, 이를 통해 데이터 패킷이 올바른 위치로 전송될 수 있게 합니다. - IPv4 주소는 32비트로 구성되며, 일반적으로 점으로 구분된 4개의 숫자로 표현됩니다. 1. IPv4 💡 IPv4 형태 - Octet의 범위는 점(.)의 구분자를 기준으로 4자리 모두 0 ~ 255자리의 값을 가집니다. - 또한 0 ~ 255 범위 내에서 ‘0xx 형태의 값’을 가지는 경우 해당 경우에 포함되지 않습니다. Octet Start Range Octet En..

Java/Short 개발

[Java/Short] SecureRandom을 이용한 랜덤 숫자/문자(난수) 생성 방법

해당 글에서는 Math 함수가 아닌 SecureRandom 함수를 이용하여 랜덤 한 숫자/문자(난수) 생성방법에 대해 알아봅니다. 1) Math.random() 함수를 사용하지 않는 이유 💡 Random 함수를 사용하지 않는 이유 - SonarQube를 통해서 Security Hotspots로 Math.random() 함수에서 아래와 같은 문제점이 발생하였습니다. - 여기에서 이 의사 난수 생성기를 사용하는 것이 안전한지 확인하세요.(Make sure that using this pseudorandom number generator is safe here.) - 해당 문제는 ‘난수 생성‘에 대해 보안에 민감하다는 문제점이 발생합니다. 이는 Math.random() 역시 난수를 생성하는 데 있어서 보안적으..

Java/Short 개발

[Java/Short] 직렬화/역 직렬화 방법 : jackson-binding

해당 글에서는 Java에서 객체를 직렬화하여 JSON 문자열로 바꾸거나 JSON 문자열을 역직렬화하여 객체로 변환하는 방법에 대해 알아봅니다. 1) 라이브러리 설치💡 라이브러리 설치 - Jackson 라이브러리의 databind 모듈을 기반으로 직렬화, 역직렬화를 수행합니다.dependencies { implementation 'com.fasterxml.jackson.core:jackson-databind:2.16.1' } https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind 2) 직렬화 방법 : Object to JSON String 1. 객체package com.multiflex.multiflexchatgpt.dt..

Java/Short 개발

[Java/Short] 문자열의 문자를 가장 앞으로/뒤로 이동하는 방법

해당 글에서는 문자열 중 문자를 맨 앞으로 보내거나 맨 뒤로 보내는 방법에 대해 알아봅니다. 1) 문자열 내의 마지막 문자를 가장 앞으로 보내기 1. 문자열 내의 마지막 문자를 1번 가장 앞으로 보내기 💡 문자열 내의 문자를 1번 가장 앞으로 보내기 - 주어진 문자열에서 마지막 문자를 가장 앞으로 1번 보내는 방법입니다. 💡 moveCharFirst() 함수 1. 마지막 문자를 추출합니다. 2. 첫번째 문자부터 마지막 문자 이전까지 문자열을 재구성합니다. 3. 마지막 문자에 구성한 첫번째 문자에서부터 마지막 문자 이전까지를 합쳐 재구성합니다. /** * 문자열 내의 마지막 문자를 가장 앞으로 보내기 * * @return */ @GetMapping("/9") public ResponseEntity> que..

Java/Short 개발

[Java/Short] 배열을 반으로 나누어 재구성 방법 : for, Arrays.copyOfRange

해당 글에서는 간단한 개발 방법으로 배열을 반으로 나누어 재구성하는 방법에 대해 알아봅니다. 1) for문을 이용한 방식 💡 for문을 이용한 방식 - 배열의 요소의 개수가 짝수인 경우도 있지만, ‘홀수’인 경우 인덱스의 값에 따라 각각 처리를 해야 합니다. - 또한 요소의 개수가 홀수이면 ‘앞’에 요소를 더 둘 것인지 아니면 ‘뒤’에 요소를 더 둘 것인지에 대해 정하고 반을 나눠서 재구성합니다. /** * 배열을 반으로 나누기 : for 문을 이용한 방법 * * @return */ @GetMapping("/1") public ResponseEntity

adjh54
'Java/Short 개발' 카테고리의 글 목록