프로그래밍
-
자바 TMI_3프로그래밍/Java 2023. 10. 26. 20:57
1. 변수의 여러가지 작성법 Camel Case : 띄워쓰기 대신 각 단어의 첫 글자를 대문자로 표기하여 구분하는 방법. 중간중간 대문자가 볼록 솟아있는 모습이 낙타의 등과 같다하여 카멜 케이스라 명명됨 thisIsCamelCase Snake Case : 띄워쓰기 대신 언더바(_) 를 활용하여 구분하는 방법. 언더바로 이어진 모습이 뱀과 같다하여 명명됨. this_is_snake_case Pascal Case : 카멜케이스와 유사하지만 첫 글자도 대문자로 시작한다. 자바는 클래스만 대문자로 시작하는 암묵적 규칙이 있기 때문에 추천하지 않는 작성법 ThisIsPascalCase Kebab Case : 모든 단어가 소문자이며 띄워쓰기 대신 - 로 연결되어 있다. 이 모습이 꼬챙이에 꽂힌 케밥과 유사하다 하여..
-
자바 TMI_2프로그래밍/Java 2023. 10. 13. 21:02
1. Stack Heap - Stack은 정적으로 할당된 메모리영역 -> 그래서 크기가 몇바이트인지 정해져있는 기본형 변수를 저장한다 -> 추가로 크기가 정해져있는 참조형 변수의 주소값도 저장한다 - Heap은 동적으로 할당된 메모리 영역이다 -> 그래서 크기가 계속 늘어날 수 있는 참조형 변수의 원본을 저장한다 2. 비트연산 > 0,1은 2진수 값이기 때문에 - 자릿수를 왼쪽으로 옮기는 횟수만큼 2의배수로 곱셈이 연산되는 것과 동일함 - 자릿수를 오른쪽으로 옮기는 횟수만큼 2의배수로 나눗셈이 연산되는 것과 동일함 5 char[] char[] charArray = str.toCharArray(); char[] -> String String charArrayString = new String(charArr..
-
자바 TMI_1프로그래밍/Java 2023. 10. 11. 15:46
영어권은 문자를 1바이트로 표현이 가능 그러나 비영어권은 2바이트로 표현한다 자바는 char가 2바이트라 비영어권 문자도 깨지지않고 다 저장가능 c언어는 1바이트라서 한글같은 문자를 직접적으로 표현할 수 없고 배열을 쓰는 등의 방법을 통해 표현해야함 메모리공간의 이름을 심볼이라 하는데 그걸 프로그래밍적으로 변수라고 한다 bytecode 는 중간어 코드 자바는 컴파일하면 class 파일로 만들어준다. 어떤 OS에서 실행할지 모르기 때문에 확실하게 exe코드로 만들지 못하고 어중간하게 만들어둔 것 이것을 JVM에게 맡기는 형태이다. JVM이 1차 컴파일된 bytecode (.class)를 자신의 OS에 맞게 다시 컴파일 (.exe) 하여 메모리에 로딩하여 실행하기 때문에 자바는 OS에 독립적으로 실행이 가능..
-
9/21 TIL [프로그래머스 코딩테스트] 4문제프로그래밍/코딩테스트연습 2023. 9. 21. 16:25
가위 바위 보 반복문과 SWITCH문을 사용 class Solution { public String solution(String rsp) { String answer = ""; String b=rsp; int a=rsp.length(); for(int i=0; i s.equals("2") ? "0" : s.equals("0") ? "5" : "2").collect(Collectors.joining()); } } 진짜로 스트림 못쓰게 해야함ㅋㅋㅋㅋ 문자열 뒤집기 for문과 charAt을 사용해서 하나씩 뽑아서 answer에 넣으면 되겠다고 생각 class Solution { public String solution(String my_string) { String answer = ""; int a=my_st..
-
9/19 TIL [프로그래머스 코딩테스트] 최빈값 구하기프로그래밍/코딩테스트연습 2023. 9. 19. 20:27
프로그래머스 코딩테스트 0단계 최빈값구하기 사고의 흐름 1. for문을 통해 앞뒤 값이 같으면 count하면 되지 않을까? 2. 반복문을 돌리고 값이 다르면 count를 0으로 초기화해보자 class Solution { public int solution(int[] array) { int answer = 0; int max=array[0]; int count=0; for(int i=0; imax){ max=array[i]; }else if (array[i]==max){ count++; } if(count!=0 && array[i]>max){ count=0; } answer=count; return answer; } } 이렇게 짠 코드의 경우 최빈값이 중복되는 경우를 통과하지 못했다. 아무리 생각해봐도 몇..