알고리즘 4

자바 알고리즘 - 같은 숫자는 싫어 (배열의 중복 제거하여 반환하기)

배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. ex) arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return import java.util.*; public class Solution { public int[] solution(int []arr) { int[] answer = {}; return answer; } } 처음에 문제 이해를 잘못 해서 배열 전체의 중복을 없애라..

개발/Java 2021.04.07

자바 알고리즘 - 문자열의 가운데 글자 가져오기

String을 파라미터로 받아, 가운데 글자를 반환하자. 짝수는 두 개를 반환하면 된다. ex) "abcde" ▶ "c" "abcd" ▶ "bc" class Solution { public String solution(String s) { String answer = ""; return answer; } } 더 짧고 멋진 코드가 인터넷에 진짜 많다. substring써서 완전 짧게 한 줄로 조져끝내버린 빛같은 코드 보고 감탄..... 그치만, 내 풀이법을 담는 데 의의를 두기로 :) 더 열심히 해서 나도 멋있게 짜야지. 읏쨔. 접근 포인트 문자열의 길이를 구해 홀짝을 판별하고, 홀짝 여부에 따라 answer를 다르게 세팅하면 될 듯! 최종 코드 class Solution { public String so..

개발/Java 2021.04.02

자바 알고리즘 - 서울에서 김서방 찾기 (배열에서의 위치 찾기)

String 배열 seoul에서, "Kim"의 위치(인덱스) x를 찾아서 "김서방은 x에 있다" 라는 문장을 반환하자. * "Kim"은 반드시 seoul 안에 포함되어 있다. ex) ["Jane", "Kim"] ▶ "김서방은 1에 있다" ["Mary", "James", "Kim"] ▶ "김서방은 2에 있다" class Solution { public String solution(String[] seoul) { String answer = ""; return answer; } } 모든 알고리즘 연습문제가 그렇듯 이 역시 간결하고 엣지있는 정답 코드가 블로그에 많고 많지만! 내가 직접 짠, 내게 익숙한 버전으로 정리하기. 접근 포인트 반복문을 통해 seoul 배열에서 "Kim"을 찾아내되, 찾아내고 나면 끝..

개발/Java 2021.03.31

자바 알고리즘 - 자연수를 뒤집어 배열로 만들기

오늘은 자바 알고리즘 풀이! 자바에서, 자연수 n을 뒤집어, 각 자리 숫자를 원소로 가지는 배열을 만들어 리턴하자. 예를 들어, n = 12345 일 때 ▶ [5, 4, 3, 2, 1] 리턴 n = 135 일 때 ▶ [5, 3, 1] 리턴 * 단, n은 10,000,000,000이하 class Solution{ public int[] solution(long n) { return answer; } } 수많은 블로그에 이미 풀이법이 많이 나와 있지만 내게 가장 익숙한 방식을 정리해두려고 한다! 접근 포인트 1) 자연수 n의 자릿수에 구애받지 않고 성립해야 한다 2) 숫자열을 배열로 쪼개야 한다 3) 숫자열의 순서를 뒤집어야 한다 숫자열을 배열로 쪼개기 데이터타입이 int일 때에는 쪼개기 힘드니까, 문자열로..

개발/Java 2021.03.31