java
-
Java: Integer.parseInt()와 Integer.valueOf()의 차이점 구분Java 2022. 6. 6. 17:38
Java: Integer.parseInt()와 Integer.valueOf()의 구분 이 글에서는 Integer.parseInt()와 Integer.valueOf()의 차이를 다루지만 비슷한 메서드들(예를 들어 Float.parseFloat() & Float.valueOf())도 동일한 차이가 있다는 것을 알아두면 좋겠습니다. 공통점 둘 다 String이나 char 같은 값 들을 정수형 데이터로 변환하는 메서드입니다. 차이점 parseInt() 메서드는 반환값을 원시형 데이터타입 int로 돌려줍니다. valueOf() 메서드는 반환값을 참조타입 Integer로 돌려줍니다. 형변환이 빈번하게 일어날 수 있으니 상황에 적절한 메서드를 호출하여 사용하면 좋겠습니다.
-
자료구조: 그래프Graph의 기본적인 활용각종 학습 요약/DataStructure 2022. 5. 30. 23:40
그래프 graph (3) - 기본적인 활용 그래프의 기본 개념을 설명한 이전 포스팅(개념1, 개념2)에 이은 글입니다. 소개했던 그래프 탐색 방법 두 가지를 실제로 활용하는 법─DFS와 BFS를 java 코드로 구현하는 법에 대해 알아보겠습니다. 깊이 우선 탐색DFS과 넓이 우선 탐색BFS의 주요 구현 방식 DFS는 주로 Stack(자료구조)이나 재귀를 통해 구현됩니다. BFS는 주로 Queue(자료구조)를 이용해 구현됩니다. DFS는 왜 재귀 || Stack으로 구현? DFS에 대해 공부를 하고 오셨거나 개념에 대한 이전 두 포스팅을 보고 오셨다면 아시겠지만 다시 한 번 정리해서 말해보겠습니다. 깊이 우선 탐색은 끝 조건에 도달할 때까지 계속 반복해서 들어간 후, 끝 조건을 만나면 리턴을 시작해서, 호..
-
모각코PS / 프로그래머스 Lv2 소수 찾기PS 2022. 5. 28. 11:40
모각코 PS스터디 이번주 마지막 문제는 소수 찾기였습니다. 문제는 간단합니다. 문자열로 주어진 숫자열이 있고, 숫자들을 한번 or 0번 써서 만들어낼 수 있는 숫자들을 모읍니다. 그리고 그 숫자가 소수(prime number)라면 체크합니다. 총 체크된 수를 리턴합니다. 말 그대로 구현했는데요, 한번 같이 보시죠. 문제와 풀이 문제 링크 : 프로그래머스 Lv2 소수 찾기 이 문제의 원 출처 : nwerc.eu 09년도 아카이브 👇펼쳐서 코드와 해설 읽기 로직의 흐름은 이렇습니다. 일단 걸러낼 정보를 거릅니다. 저는 길이가 0인 경우 || 0을 전부 공백으로 치환했을 때 길이가 0이 되는 경우 || 그리고 문자열이 "1"인 경우를 걸렀습니다. 지금 말하면서 보니 길이가 0인 경우는 따로 체크하지 않아도 되..
-
모각코PS / 백준 17478 재귀함수가 뭔가요?PS 2022. 5. 25. 16:09
모각코 PS스터디 백준 문제들을 보다보면 가끔가다 재미용 문제(?)가 있죠. 이 문제도 약간 그런 느낌입니다. 부트캠프 커리큘럼이 재귀를 배울 차례라, 알고리즘을 정해주신 대장님께서 넣어주신 것 같아요. 웃으면서 재밌게 풀었습니다. ㅎㅎ 문제와 풀이 문제 링크 : 백준 17478번 - 재귀함수가 뭔가요? 👇펼쳐서 코드와 해설 읽기 설명할 로직이랄게 없죠?...ㅎㅎ 더 정리할 수 있을 것 같은데 재귀 은근 머리아파서... 대강 풀고 끝내자! 하고 대강 풀어버렸습니다. (...) import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); ..
-
모각코 PS / 백준 1475 방 번호PS 2022. 5. 25. 15:57
모각코 PS스터디 이번주는 지난주와 비슷한 난이도의 문제가 선정되었습니다. 아직 2번 문제까지밖에 못봤는데 오늘 남는 시간에 나머지도 얼른 풀어봐야겠어요. 그 전에, 먼저 풀어놓은 문제들부터 포스팅으로 남겨보려고 합니다. 문제와 풀이 문제 링크 : 백준 1475번 - 방 번호 👇펼쳐서 코드와 해설 읽기 로직의 흐름은 이렇습니다. 09까지의 숫자세트를 저장할 배열 변수 set을 만들어놓습니다. 입력받은 숫자열(int)의 길이를 체크해서, 길이만큼 for문을 돌 건데요. 한 바퀴 돌 때마다 앞에서부터 숫자 하나씩 가져옵니다. 가져온 숫자가 숫자세트에 존재하는지 체크합니다. 있으면 숫자세트의 잔여 개수를 하나 줄입니다. 줄일 잔여 수가 없으면 숫자세트를 하나 추가(09까지 하나씩 증가)하고 난 뒤에 잔여개수를..
-
PS미세먼지 팁: 정수 자릿수 구할 때 Math.log10() + 1?PS 2022. 5. 24. 17:36
미먼Tip : 정수 자릿수 구하는 법 (Math.log10() + 1 말고) '숫자 자릿수 구하기'라고 구글링 하면, int cnt = Math.log10(자릿수 구할 숫자) + 1를 쓰라고 많이들 알려주세요. 그렇게 해도 가능합니다. 하지만 다른 방법은 없을까요? 의문 자릿수를 구하다가 한 가지 의문이 들었어요. 보통 자릿수는 int형으로 필요해서 구하게 되는데요. 넘겨주는 숫자의 타입도 int형이고요. 자릿수 구할 값을 -> Math.log10()에 넘겨주고 -> int값으로 리턴을 받는건데 그렇게 되면 데이터의 타입이 int -> double -> int로 두 번 오토박싱이 일어날 거란 생각이 들었습니다. 그래서 이런 생각이 들었어요. int cnt = String.valueOf(자릿..
-
모각코 PS / 카카오 2020 신입 블라인드 채용 1차 문자열 압축PS 2022. 5. 21. 16:47
모각코 PS스터디 왜인지 모르겠는데 PS는 하고 나서 포스팅 하는 걸 자꾸 까먹는다. 이번주 스터디 한 세 문제를 차례로 포스팅해보려고 한다. 문제와 풀이 문제 링크 : 카카오 2020 신입 개발자 블라인드 채용 1차 코딩 테스트 - 문자열 압축 해당 문제는 프로그래머스에서도 풀어볼 수 있다. 👇펼쳐서 코드와 해설 읽기 문자열 카테고리의 문제다. 로직 자체는 매우 직관적으로 떠올릴 수 있다. 머릿속으로 비교하는 그림이 대강 그려졌다. 대충 이렇게. 딱 봐도 뭔가 반복문을 겹겹이 돌아야할 것 같은 기분이 든다(표본 길이가 최대 1000이니까 낭낭히 돌아도 문제 없다). 그래서 코드를 짜기 전에 '어떤 반복문을 / 어떤 범위로 / 얼마만큼씩 키워나가면서' 돌 것인지 정리를 하고 구현을 시작했다..
-
모각코 PS스터디 / 백준 1783 병든 나이트PS 2022. 5. 21. 16:44
모각코 PS스터디 왜인지 모르겠는데 PS는 하고 나서 포스팅 하는 걸 자꾸 까먹는다. 이번주 스터디 한 세 문제를 차례로 포스팅해보려고 한다. 문제와 풀이 문제 링크 : 백준 1783번 - 병든 나이트 👇펼쳐서 코드와 해설 읽기 이 문제도 역시 그리디(greedy) 카테고리의 문제다. 얼핏 보면 탐색 같지만, 표본 수(2,000,000,000)를 보면 탐색으로 했을 때 무조건 타임아웃이 날 거란 걸 생각해볼 수 있다. 충족할 조건은 2가지다. 이동횟수를 최대화할 것. 이동방식을 충족할 것. (밟은 발판 갯수가 5개 이상 시에만) 나이트의 이동경로는 다음 네가지다 2U 1R 1U 2R 1D 2R 2D 1R 네 가지 이동을 완수하는 케이스를 먼저 생각해보기로 했다. 네 가지 이동을 완수하고 나서도 시작점에 ..