본문 바로가기

알고리즘/프로그래머스21

(LEVEL 1)프로그래머스 - 가장 가까운 같은 글자(JAVA) 문제 입출력 예 풀이. 1. 알파벳 갯수 만큼 alpha 배열 선언 (알파벳이 나온적이 있는지 체크하기 위해) 2. 글자의 위치를 저장하기 위한 idx배열 선언 3. s의 길이만큼 반복문을 돌며 한글자씩 비교 나온적이 있는지 먼저 체크(alpha배열의 값 확인 [0] -> a, [1] -> b ... ) 나온적이 없다면(값이 0이라면) answer에 -1 추가하고 해당 alpha배열에 값을 0이 아닌 다른값으로 변환후 해당 글자의 위치를 idx배열에 저장 나온적이 있다면 해당 인덱스에서 최근글자의 인덱스를 빼서 저장하고 해당 글자 위치 최신화 코드 class Solution { public int[] solution(String s) { int [] alpha = new int[26]; int [] id.. 2023. 1. 12.
(LEVEL 0)프로그래머스 - 369게임(JAVA) 문제 입출력 예 풀이. 1. order를 3,6,9 포함여부 확인을 위해 String으로 변환 2. 3,6,9가 들어가면 3으로 나눴을때 나머지가 0이된다. ( 단, 값이 0일때도 나머지가 0이되므로 이부분 체크) 3. 길이만큼 반복문을 돌며 0이 아닐때 3으로 나누어 떨어지면 +1 코드 class Solution { public int solution(int order) { int answer = 0; String s = Integer.toString(order); for(int i=0;i 2023. 1. 10.
(LEVEL 0)프로그래머스 - 영어가 싫어요(JAVA) 문제 입출력 예 풀이. 1. 각 숫자의 영어단어들을 순서대로 String배열에 저장한다. 2. 0~9까지 바꿀수있는숫자를 다 바꿔야하니 반복문의 횟수는 10번 3. for문을 돌며 numbers를 영단어 숫자 치환 ( i값에 +"" 을 해서 문자열로 만든다.) 4. 마지막으로 저장된 문자열을 Long으로 형변환 해준다. 코드 import java.util.*; class Solution { public long solution(String numbers) { long answer = 0; String [] num = {"zero","one","two","three","four","five","six","seven","eight","nine"}; for(int i=0;i 2023. 1. 10.
(LEVEL 0)프로그래머스 - 문자열 계산하기 (JAVA) 문제 입출력 예 풀이. 1. 받은 문자열을 공백을 기준으로 split해서 새로운 배열temp에 저장 2. 첫번째 숫자를 answer값으로 넣어둔다. ex) 3+4에서 3값을 미리 answer에 넣어둠 3. 이후 연산자(+,-)를 만나면 연산자 다음의 숫자를 계산해준다. ex) "3 + 4" 에서 +를 만나면 4를 미리 저장된 값 answer과 계산 한다. 처음엔 연산자가 하나만 있다고 생각해서 풀어서 틀렸다가 여러번 연산이 이루어 지는것을 생각하고 다시 해결 코드 class Solution { public int solution(String my_string) { String [] temp = my_string.split(" "); int answer = Integer.parseInt(temp[0]); .. 2023. 1. 10.