본문 바로가기

프로그래머스44

프로그래머스 Lv.1 가장 가까운 같은 글자 프로그래머스 Lv.1 가장 가까운 같은 글자 문자열 s가 주어졌을 때, s의 각 문자가 같은 것이 2개 이상이면 자신과 가장 가까운 곳에 있는 같은 글자의 위치가 자신과 얼마나 차이가 나는지 표현한다. 같은 문자가 없다면 -1로 표현한다. s result "banana" [-1, -1, -1, 2, 2, 2] "foobar" [-1, -1, 1, -1, -1, -1] ** 풀이 방법 s가 banana일 때, 이런 과정으로 풀이된다. b -1 ba -1 ban -1 bana a가 인덱스 1에도 있으므로 현재 a의 위치인 3-1=2로 표현 banan n가 인덱스 2에도 있으므로 현재 n의 위치인 4-2=2로 표현 banana 현재 a의 위치-가장 가까운 위치의 a 5-3=2로 표현 문자열 s를 문자 하나씩 .. 2023. 7. 25.
프로그래머스 Lv.0 간단한 식 계산하기 프로그래머스 Lv.0 간단한 식 계산하기 문자열 binomial이 매개변수로 주어진다. binomial은 "a op b"형태의 이항식이고, a와 v는 음이 아닌 정수, op는 사칙연산 중 하나이다. 주어진 식을 계산해서 return하라. binomial result "43 + 12" 55 "0 - 7777" -7777 "40000 * 40000" 1600000000 ** 풀이 방법 binomial의 공백을 없앤다. binomial = binomial.replace(" ",""); StringTokenizer를 사용해서 사칙연산 기호 기준으로 나눈다. 각 사칙연산 기호에 맞는 a와 b의 연산을 해준다. String func=""; StringTokenizer str = new StringTokenizer(.. 2023. 7. 25.
프로그래머스 Lv.0 세로 읽기 프로그래머스 Lv.0 세로 읽기 문자열 my_string과 두 정수 m,c가 주어진다. my_stirng을 한 줄에 m글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return하라. ** 풀이 방법 my_string 문자열을 문자 하나하나씩 접근할 것이므로 my_string의 길이만큼 for문을 돌린다. for (int i=0; i 2023. 7. 24.
프로그래머스 Lv.0 숨어있는 숫자의 덧셈 (2) 프로그래머스 Lv.0 숨어있는 숫자의 덧셈 (2) 문자열 my_string이 매개변수로 주어진다. my_string은 소문자, 대문자, 자연수로만 구성되어 있다. my_string안의 자연수들의 합을 return하라. ** 풀이 방법 정규식을 활용해 영어 소문자,대문자를 모두 공백으로 바꾸고 공백 기준으로 문자열을 자른다. String[] s = my_string.replaceAll("[a-zA-Z]"," ").split(" "); 배열의 반복문을 돌면서 빈 문자열이 아닐때 정수형으로 형변환 시켜서 answer에 더해준다. for (String a : s) { if (!a.equals("")) answer += Integer.parseInt(a); } 전체 코드 class Solution { public.. 2023. 7. 24.
반응형