분류 전체보기

정수 오버플로우 정수 오버플로우는 정수 변수가 표현할 수 있는 범위를 넘어서 값을 저장하려고 할 때 발생하는 현상입니다. 정수 데이터 타입(예: `int`, `long` 등)은 특정 비트 수로 값을 표현하므로, 표현 가능한 최대값을 넘어가면 오버플로우가 발생합니다. 예시 1. `int`의 경우: int maxValue = Integer.MAX_VALUE; // 2147483647 // 정상적인 범위 내의 덧셈 int sum1 = maxValue + 1; // -2147483648 (Integer.MIN_VALUE) // 정상적인 범위 내의 뺄셈 int subtract1 = Integer.MIN_VALUE - 1; // 2147483647 (Integer.MAX_VALUE) 2. `long`의 경우: lo..
BigInteger `BigInteger`는 Java에서 정수의 임의 정밀도(arbitrary-precision)를 가지는 클래스입니다. 이 클래스는 매우 큰 크기의 정수를 표현할 수 있어서, int나 long의 범위를 초과하는 정수 연산을 지원합니다. BigInteger 클래스 `BigInteger` 클래스는 java.math 패키지에 속해 있으며, 여러 연산을 지원합니다. 주요 메서드 중 일부는 다음과 같습니다: 1. `add(BigInteger val)`: 현재 `BigInteger` 객체에 주어진 `BigInteger` 값을 더합니다. 2. `subtract(BigInteger val)`: 현재 `BigInteger` 객체에서 주어진 `BigInteger` 값을 뺍니다. 3. `multiply(B..
조합(Combination) 4개의 원소 중에서 2개를 선택하여 나열하는 경우의 수를 계산하는 것은 순열의 일종입니다. 조합(Combination)의 경우에는 순서가 중요하지 않으므로, 조합의 수는 다음과 같이 계산됩니다. 따라서, 4개의 원소 중에서 2개를 선택하여 나열하는 경우의 수는 6가지입니다.
순열(Permutation) 순열(Permutation)은 주어진 집합에서 원소들을 선택하여 나열하는 모든 가능한 경우의 수를 나타냅니다. 예를 들어, 1, 2, 3이라는 세 개의 숫자가 주어졌을 때, 가능한 순열은 (1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1) 등이 됩니다. 순열은 순서가 중요하며, 각각의 원소가 한 번씩만 나타나야 합니다. n개의 원소에서 r개를 선택하여 나열하는 경우의 수를 나타내는 공식은 다음과 같습니다. 순열의 계산은 조합과 비슷하지만, 순서가 중요하다는 차이가 있습니다. 따라서 조합은 선택한 원소들의 순서가 상관없는 경우의 수를 나타내고, 순열은 선택한 원소들의 순서가 상관 있는 경우의 수를 나타냅니다.
· OOP/Java
Java 정규 표현식(Regular Expression) : 컴퓨터 과학의 정규 언어로부터 유래한 것으로 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 언어 전화번호, 주민등록번호, 이메일 등과 같이 정해져 있는 형식이 있고 사용자가 그 형식대로 제대로 입력했는지 검증을 해야하는 경우 정규표현식을 사용하여 쉽게 검증 가능하다. 정규표현식 사용 방법 java util.regex 패키지를 사용 Pattern 클래스와 Matcher 클래스를 주로 사용 Pattern 클래스 정규 표현식에 대상 문자열을 검증하는 기능으로 matches()메소드를 활용하여 검증 구조는 matches(regex, string) 이며, 일치하면 true, 그렇지 않으면 false를 리턴한다. 숫자 검증하는 예제 Patter..
최대 공약수 두 수의 최대 공약수는 두 수가 서로 공통으로 가지고 있는 약수 중 가장 큰 수 최대 공약수 예시 12의 약수 [1,2,3,4,6,12] 18의 약수 [1,2,3,6,9,18] 12와 18의 공약수는 [1,2,3,6] 12와 18의 최대공약수는 [6] 최대 공약수 구하는 방법 숫자가 2개인경우 1.두수를 공약수로 계속 나눈다. 2.공약수로 나눈 몫이 서로소가 되면 끝. 3.공약수를 모두 곱한다. 공약수 값1 값2 2 60 48 2 30 24 3 15 12 5 4 60과 48의 최대 공약수는 12 숫자가 3개인 경우(코드에서 배열을 매개변수로 주는 경우) 1.모든 수를 동시에 나눌수 있는 수로 나누다. 2.더이상 나누어질 수 없으면 끝. 3.공약수를 모두 곱한다. 공약수 값1 값2 값3 2 6..
AWS Lambda(Serverless) API 서버 구축해보기 구성 Skill : API Gateway + Lambda + S3 Serverless : 사용자가 Server를 직접 프로비저닝하거나 운영 및 관리할 필요 없이, 서비스를 구축하고 코드를 실행할 수 있도록 구조화하는 아키텍처이다. 그러므로 인프라의 운영 및 관리에 대한 부담을 덜어주고, 서비스에 집중 가능 출처 : AWS https://aws.amazon.com/ko/blogs/korea/using-aws-lambda-within-your-game/ 게임 개발 시 AWS Lambda를 통한 서버리스 아키텍처 활용하기 | Amazon Web Services 대규모 글로벌 게임 사용자를 위한 빠르고 민첩한 게임 서비스 개발을 위해 클라우드 활용..
AWS S3 이미지 파일 리사이징 업로드 REST API 호출시 이미지 파일 S3로 업로드 및 S3 업로드 시 트리거를 통해 Lambda 동작하여 리사이징된 이미지 파일 다른 S3 업로드 해보기 구성 Skill : Spring Boot + Lambda + S3 1. S3 원본 이미지 버킷과 리사이징 이미지 버킷 생성 업로드되는 이미지 버킷과 리사이징된 이미지 버킷을 생성 이미지 업로드를 위해 퍼블릭 액세스 차단 설정을 전부 해제 버킷 정책 설정으로 필요한 Get, Put 등 설정해둔다. 2. IAM 사용자 추가 및 S3 사용 권한 부여 사용자 생성 사용자에 AmazonS3FullAccesss 권한 정책 설정 Spring Service 단에서 접근할 수 있도록 사용자의 액세스 키 생성 생성된 액세스 키(A..
defxyj
'분류 전체보기' 카테고리의 글 목록 (11 Page)