Java 16

[Java] Scanner의 호출과 객체 생성 및 사용

1. Scanner 알고리즘 사이트인 백준 문제를 풀면 Scanner 함수를 볼 수 있는데요 기능을 간단하게 알아볼게요. 일단 Scanner는 util 패키지에 있습니다. import java.util.*; //util 패키지 소환 import를 했으니 한 번 사용해보겠습니다. 클래스 호출 이후 객체를 생성해야 합니다. Scanner in = new Scanner(System.in); 여기서 System.in은 유저의 입력을 받는 입력 스트림입니다.

Java 2023.06.17

[Java] Hash란? HasMap 사용법, Hash collision 발생 시

hash.. 프로그래머스의 "완주하지 못한 선수" 문제를 풀다가 도저히 안풀려서 정답 관련 구글링을 하였습니다. 그랬더니 나왔던 용어가 hash. 저는 java 초보이니 하나하나 간단히 풀고 가고 싶습니다. hash란? 제가 이해한 것으로는 ArrayList처럼 값을 저장하고 불럿 사용하는 방법인데 Hash는 db처럼 내부의 데이터를 배열로 저장하고 그 저장하는 Table를 Hash Table이라고 합니다. Hash는 key와 value로 이루어져 있고 이 둘은 1:1로 이루어져 있습니다. 그 역할을 Hash function이 담당하고 있으며 밑에 그림처럼 Lisa Smith라는 key 값과 521-8976 이라는 value 값은 Hash Code = 01를 통해 쉽게 찾을 수 있습니다. Hash 용어 ..

Java 2023.06.17

[Java] String.replace(,) - 문자열 교체하기

특정 문자 제거하기 알고리즘을 풀다가 정리합니다. 기본 사용법은 my_string.replace( target , replacement ); my_string의 문자열의 target을 replacement로 변경합니다. 괜히 deleteCharAt 사용하다가 계속해서 2,3번 문제가 풀어지지 않아 실패 테스트 케이스 추가로 확인 결과 aabcd 이렇게 앞에 연속을 같은 문자가 있으면 bcd가 아닌 abcd로 나옴. 왜인지 모르겠으나 매니저님 오시면 물어봐야할듯 추가로 replaceAll도 있음 my_string.replaceAll( target , replacement ); 사실 똑같습니다. 그러나 차이점은 replaceAll은 target이 정규식입니다.

Java 2023.06.03

[Java] toCharArray() -String을 char[] 배열로

문자열 알고리즘을 풀다가 하나씩 정리하면 좋을 것 같아 정리합니다. 문자열 알고리즘 문제를 보면 "green"을 거꾸로 만들라고 합니다. 길이가 5가 아닌 문자열도 가능해야 합니다. toCharArray()로 배열로 변환하고 배열을 거꾸로 반복문을 만들면 될 것 같았습니다. 하지만 아직 문법적인 면이 어색해서 결국 서치로 해결하였습니다.. 한 번 반복문으로 char 배열로 변환하여 출력해 보겠습니다. public class CharArray { public static void main(String[] args) { String str = "green"; char[] arr = str.toCharArray(); for (int i=0; i

Java 2023.06.03

[Java를 딱!] 변수 선언과 사용

1. 변수란? 변수.. 학착시절 처음 접한 변수는 x, y값을 모를 때 x+y=1이라는 방정식 속 x와 y가 변수라고 배웠죠. 그렇다면 우리 일상생활에서 변수가 무엇을 통용될까요? "경제난 속 변수가 생겼다." 저는 바이크를 좋아해서 "오토바이의 제동력과 운전자의 정확한 컨트롤이 도로에서의 변수를 줄인다.", "실패 문 앞에서 변수가 생겨 기사회생하였다." 등등 좋든 싫든 변수라는 단어는 변하는 값을 말합니다. 하지만 프로그래밍에서도 같은 의미로 사용될까요? 직관적으로는 비슷한 의미로 보일 수 있습니다. 그러나 프로그래밍에서의 변수는 조금 다른 의미로 사용됩니다. "변수" = 특정한 값을 저장을 하기 위하여 메모리에 주소를 할당하는 것을 말합니다. 그 주소의 할당은 자바에서는 JVM(자바 가상머신)이 역..

Java 2023.05.13