기술 면접 질문들을 보던중 Call by Value, Call by Reference 단어를 처음 봤다. 간단하게 설명하면 프로그래밍 언어들의 메소드 매개변수 호출 방식이라고 한다. Call by Value : 이 방식에서 함수에 변수를 전달할 때, 변수의 값이 복사되어 함수로 전달됩니다. 이 말은, 함수 내에서 변수를 변경하더라도 원본 변수의 값에는 영향을 미치지 않는다는 것을 의미합니다. 이 방식은 원본 데이터를 보호할 수 있지만, 큰 데이터 구조를 복사하는 데 상당한 시간과 메모리가 필요할 수 있습니다. 기본 데이터 타입의 경우 (int, double, char 등): 이들은 call by value로 처리한다. 즉, 메서드에 값을 전달할 때 그 값이 복사되어 전달되므로 원래 변수에는 영향을 주지 ..
알고리즘 공부를 하면서 문자열 : for(int i=0; i
알고리즘을 푸는데 필요한 능력은 이해, 분석, 설계. 코딩, 디버깅, 테스트, 최적화, 문제해결능력이 필요하다고 한다. 하지만 지금의 나는 이해와 분석까지는 했더라도 설계. 코딩 나머지 모든 것이 부족하다. 알고리즘은 for문과 if문으로 풀 수있다고하는데 실제로도 내가 푼 문제 대부분이 조건문, 반복문, 배열을 쓰고 문제가 다수있다. 조건문은 가장 기본적인 분기 처리를 담당하고 프로그램의 흐름을 제어 반복문은 특정 작업을 반복적으로 수행하는 등 다양한 작업을 처리 배열은 하나의 변수에 여러 값을 저장하여 처리할 수 있으며, 인덱스를 사용하여 각 값에 접근 하지만 이 3가지로는 모든문제의 코드를 짤 자신이 없다. 그래서 자바에 포함에 되어있는 내장함수를 쓰면 더욱 더 간편하고 최적화 된 코드를 작성할 수..
다양한 형태의 변수를 문자열 형태로 바꾸어야 하는 경우가 있다. String에서는 valueOf메서드가 있다. public static void main(String[] args) { //다양한 타입의 변수들을 문자열로 바꾸기 가능 int numInt = 100; long numLo = 1000; double numDou = 100.100; boolean flag = true; char ch = 'A'; String numIntS = String.valueOf(numInt); String numLoS = String.valueOf(numLo); String numDouS = String.valueOf(numDou); String flagS = String.valueOf(flag); String chS =..
String형 문자열일 경우 자릿수를 구할려면 length()로 쉽게 자리수를 구할 수 있다. 하지만 int에서는 어떻게 쉽게 자릿수을 구할 수 있을까 찾아보다가 (int)( Math.log10(num)+1 ) 를 찾게 되었다. 주의할점은 int범위는 약 20억 까지이다. 그래서 10자리 까지만 측정이 된다. import java.util.Arrays; public class ex23 { // 자연수 뒤집기 public static int[] solution(long n) { int[] answer = new int[(int) Math.log10(n) + 1]; for (int i = 0; i < answer.length; i++) { answer[i] = (int) (n % 10); n = n / 10..
1. String.split()으로 문자열 자르기 split()은 어떤 문자 기준으로 문자열을 자르고 배열로 리턴해 줍니다. String s = "try hello world" String[] arr = s.split(""); [t, r, y, , h, e, l, l, o, , w, o, r, l, d] String str = "Hi guys This is split example"; String[] result = str.split(" "); // 띄어쓰기 마다 자르기 String[] result2 = str.split(" ", 2); 문자열을 최대로 나누는 개수 2개 String[] result3 = str.split(" ", 3); 문자열을 최대로 나누는 개수 3개 System.out.println..
HashMap 선언 HashMap map2 = new HashMap();//new에서 타입 파라미터 생략가능 HashMap map4 = new HashMap(10);//초기 용량(capacity)지정 HashMap 값 추가 map.put(Key,value); //값 추가 // map.getOrDefault(ps,0)+1 // ps키의 값을 가지고오는데 값이 없으면 0을 리턴 (0+1해서 1을 넣어줌) for (String ps : participant){ map.put(ps,map.getOrDefault(ps,0)+1); // map.get(cs)-1 // cs키의 값을 가지고와서 -1한 다음 0을 넣음 for (String cs : completion){ map.put(cs,map.get(cs)-1);..
오늘은 자바 프로그래밍 기초 마지막 날이다. 공부 챕터는 조건문, 반복문, 배열 부분이다. 오늘도 과제 부분에서는 큰 어려움 없이 제출했고 문제를 제대로 읽지 않고 과제를 해서 틀린 부분을 수정했다. 알아도 문제좀 잘 읽고 문제 풀자... 배열 출력하기(toString, deepToString) 1차원 배열을 출력 할때 toString을 쓰고 다차원 배열일 때는 deepToString을 쓰면 모든 배열을 출력할 수 있어서 알고리즘 풀때 for문으로 노가다 안해도 된다. package report4; import java.util.Arrays; //5-4. 2차원 배열 arr에 담긴 모든 총합과 평균을 구하는 프로그램을 완성하세요. public class Report4_4 { public static vo..
항해 2추차 시작으로 자바 프로그래밍 기초가 시작되었다. 알아도 복습한다는 마음으로 과제를 제출했고 처음 자바 배울때 헷갈리는 부분인 변수 기본형의 표현 범위와 타입에따른 형변환을 복습했다. byte b = 10; char ch = 'A'; int i = 100; long l = 1000L; //3-1. 다음 중 형변환을 생략할 수 있는 것은? (모두 고르시오) 정답 : b = (byte) i; NO - int i를 byte로 형변환 해야함 ch = (char) b; NO - byte b를 char로 형변환 해야함 short s = (short) ch; NO - short타입 s는 char타입 ch를 short타입으로 형변환 해야함 float f = (float) l; OK - 1000Long 타입은 1..
math Math는 수학과 관련된 메서드를 가지고 있는 클래스 이다. round() : 실수를 소수점 첫 째자리에서 반올림한 정수를 반환합니다. ceil() : 올림값을 double 형으로 반환합니다. floor() : 내림값을 double 형으로 반환합니다. abs() : int, double 기본형 모두 사용 가능하며 절대값을 얻습니다. 문자열의 비교 문자열의 비교에는 ==대신 equals()를 사용해야 한다. equals : 비교하고자 하는 두 피연산자의 값 자체를 비교합니다. == : 비교하고자 하는 두 피연산자의 주소값을 비교합니다.
- Total
- Today
- Yesterday
- script
- 로드 밸런서
- 로드밸런서
- flask
- java
- 위치의 중요성
- 시작 템플릿
- HTML
- JWT
- githubactions
- Auto Scaling
- 오토 스케일링
- aws
- EC2
- 인스턴스
- CodeDeploy
- Load Balancer
- CICD
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |