본문 바로가기

자바35

프로그래머스 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.
프로그래머스 Lv.0 연속된 수의 합 프로그래머스 Lv.0 연속된 수의 합 연속된 num개의 정수를 더해 total이 되는 경우에 정수 배열을 오름차순으로 담아 return하라. ** 풀이 방법 연속된 수의 중간값을 가지고 풀이하였다. total을 num으로 나눴을 때 중간값이 구해진다. 이 중간값의 인덱스 위치를 구해서연속되는 숫자의 시작점을 찾는다.(인덱스 : 홀수일 때는 배열의 중앙에 위치, 짝수는 배열 길이의 중간-1에 위치) 예) num이 홀수일 때 num=3 total=12 result=[3,4,5] middle = total/num = 4 num=홀수 >> 중간값인 4의 인덱스는 num/2=1번 인덱스 answer 배열에 들어가야 할 첫 숫자는 중간값 - 홀수짝수판별해 나온 중간값의 인덱스로 구해진다. 그래서 결과는!! [3,4.. 2023. 7. 24.
반응형