반응형

프로그래머스 13

[프로그래머스 자바] 배열만들기 3

[프로그래머스 자바] 배열 만들기 3 문제 정수배열 arr 와 2개의 구간이 담긴 배열 intervals 이 주어진다. intervals은 항상 [[a1, b1], [a2, b2]]꼴로 주어지며 각 구간은 닫힌 구간이다. 닫힌 구간은 양 끝값과 그 사이의 값을 모두 포함하는 구간을 의미한다. 이때 배열 arr 의 첫 번째 구간에 해당하는 배열과 두 번째 구간에 해당하는 배열을 앞뒤로 붙여 새로운 배열르 만들어 return 하는 solution 함수를 완성하시오. 입출력 풀이 정답을 넣을 배열을 크기를 구하여 정답을 넣을 배열을 생성한다. 그리고 정답을 넣을 배열을 값을 넣기 위해 count라는 변수를 만들어 각 구간에 대해서 for 문을 돌릴때 새로운 배열의 원소를 배열에 넣어줄 수 있도록 만든다. 코드..

[프로그래머스 자바] 리스트 자르기

[프로그래머스 자바] 리스트 자르기 정수n과 정수 3개가 담긴 리스트 slicer 그리고 여러 개가 담긴 리스트 num_list가 주어집니다. slicer을 차례대로 a,b,c라고할때 n에 다라 다음과 같이 num_list를 슬라이싱 할려고 한다. 슬라이싱한 리시트를 return하도록 solution 함수를 완성해주세요. 풀이 스위치 문을 이용하여 n의 값에 따라 슬라이싱 하는 방법을 나누었다. ArrayList 를 이용하여 값을 추가해주고 스위치문을 빠져나오고 난후 다시 배열로 바꿔주는 작업을 하였다 num.size(); ArrayList 의 길이를 가지고 배열을 만들어 값을 집어 넣었다. int a=num.size(); answer=new int[a]; for(int i=0; i

[프로그래머스 자바]가까운 1 찾기

[프로그래머스 자바] 가까운 1 찾기 문제 정수 배열 arr이 주어진다. arr은 0,1로 이루어진 배열이다. 정수 idx가 주어질때 인덱스값이 idx보다 크면서 배열의 값이 1인 가장 작은 인덱스를 찾아서 반환하는 solution 함수를 완성해 주세요. 단 그러한 인덱스가 없다면 -1을 반환합니다. 입출력 풀이 문제의 조건대로 배열 arr을 탐색하여 하고 현재 인덱스값이 idx이상일경우 인덱스값을 반환하면 된다. 나는 for문을 배열의 값으로 탐색하고 하나 탐색할 때마다 answer값을 +1을 해주면서 현재의 인덱스값을 확인하였다. 탐색하면 조건에 맞는 답이 나면 check =true 로 변경하고 반복문을 종료하였다 만약 check 값이 false 이면 우리가 원하는 조건의 답이 없다는 거니 -1을 a..

[프로그래머스 파이썬] 괄호 변환

문제 (,)으로만 이루어진 문자열이 있다 ( 와 ) 의 개수가 같다면 이를 균형잡힌 괄호 문자열이라고 한다. (,) 괄호 짝이 모두 맞을 경우에는 올바른 괄호 문자열이라고 부른다. (()))( 균현잡힌 괄호 문자열 이지만 올바른 괄호 문자열은 아니다. 아래의 규칙을 이용하여 주어진 괄호 문자열을 올바른 괄호 문자열로 바꾸어 결과값을 return 하여라. 1. 입력이 빈 문자열인 경우, 빈 문자열을 반환합니다. 2. 문자열 w를 두 "균형잡힌 괄호 문자열" u, v로 분리합니다. 단, u는 "균형잡힌 괄호 문자열"로 더 이상 분리할 수 없어야 하며, v는 빈 문자열이 될 수 있습니다. 3. 문자열 u가 "올바른 괄호 문자열" 이라면 문자열 v에 대해 1단계부터 다시 수행합니다. 3-1. 수행한 결과 문자열..

[프로그래머스 자바]문자열 뒤집기

[프로그래머스 자바]문자열 뒤집기 문제 문자열 my_string 과 정수 s,e가 매개변수로 주어질때 문자열에서 인덱스 s부터 e까지 뒤집은 문자열을 리턴하는 함수를 작성하시오. 입출력 풀이 이걸 풀기위해서는 문자열을 뒤집는 방법을 알아야한다. for문을 이용할 방법과 reverse() 를 이용한 방법이 있다. 일단 for 문을 이용한 방법은 현재 문자열을 문자배열로 받아서 s와,e사이를 스왑 하는 방법이 있고 두번째 방법은 StringBuffer / reverse()를 사용하여 그부분만 문자열을 뒤집는 방법이 있다. 내가 선택한 방법은 두번째 방법을 선택하여 주어진 문자열을 총3개의 문자열로 나누었다. 주어진 문자열을 str이라하면 ans1=str(0,s) 까지 자른거 하나 ans2=str(s,e+1)..

[프로그래머스 파이썬] 순위

[프로그래머스 파이썬] 순위 https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 n명의 권투선수가 권투 대회에 참여했고 각각 1번부터 n번까지 번호를 받았습니다. 권투 경기는 1대 1 방식으로 진행, A 선수가 B 선수보다 실력이 좋다면 A 선수는 B 선수를 항상 이깁니다. 심판은 주어진 경기 결과를 가지고 선수들의 순위를 매기려 합니다. 하지만 몇몇 경기 결과를 분실하여 정확하게 순위를 매길 수 없습니다. 선수의 수 n, 경기 결과를 담은 ..

[프로그래머스 자바] 9로 나눈 나머지

[프로그래머스 자바] 9로 나눈 나머지 문제 음이 아닌 정수를 9로 나눈 나머지는 그 정수의 각 자리 숫자의 합을 9로 나눈 나머지와 같다 이를 이용하여 음이 아닌 정수가 문자열로 주어질 때 이 정수를 9로 나눈 나머지를 return 하여라 입출력 풀이 문자열의 길이가 정수타입이 담을수 있는 값보다 클 수도 있기에 각자릿수 합을 구해서 9로 나눈 나머지를 구해야 한다 내가 생각하기에 방법은 2가지가 있었다 첫번째 방법으로는 문자열을 charAt()를 축출하고 축출한 값을 정수로 바꾸어 합을 구하는 방법이다 이때 문자형을 정수형을 바꾸기 위해서는 Character.getNumbericValue()를 사용해야 한다 두 번째 방법은 문자열을 charAt로 축출 후 숫자로 변형 없이 더하는 방식이다 이때 주의해..

[프로그래머스 자바]콜라츠 수열 만들기

[프로그래머스 자바] 콜라츠 수열 만들기 문제 -모든 자연수 x에 대해서 현재값이 x 이면 x가 짝수일 때 2로 나누고 홀수 일대에는 3*x+1 하여 x값에 반환하는 과정을 반복하면 언제 가는 x가 1이 되는지 묻는 문제를 콜라츠 문제라고 한다 위 과정에서 거쳐간 모든 수를 기록한 수열을 콜라츠 수열이며 이 콜라츠 수열을 return 하는 solution 함수를 완성하라 입력, 출력 풀이 -콜라츠 수가 얼마나 나올지 알 수 없기에 동적 배열이 필요하다고 판단해서 ArrayList를 사용하였다 문제의 조건에 따라 짝수일 때는 2로 나누고 홀수 일 때에는 3*x+1을 한 값을 ArrayList로 만든 배열에 추가하는 과정을 while 문을 이용하여 반복하였다. while문의 조건은 x값이 1이 아니면 계속 ..

[프로그래머스 자바] 문자 리스트를 문자열로 변환하기

[프로그래머스 자바] 문자 리스트를 문자열로 변환하기 https://school.programmers.co.kr/learn/courses/30/lessons/181941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자가 담겨있는 배열 arr이 주어지면 arr의 원소들을 순서대로 이어 붙인 문자열을 return 해야한다 방법법으로는 배열을 for문으로 돌아 하나하나씩 문자열 에 담는 방법과 join을 사용하여 한번에 배열을 합치는 방법이 있다 String.join("구문자",배열) 1) for 문을 이용한 방법 class Solution { public..

[프로그래머스 자바] 문자열 돌리기

프로그래머스 문자열 돌리기 https://school.programmers.co.kr/learn/courses/30/lessons/181945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 for 문을 이용하여 주어진 문자열은 하나하나씩 출력하였다 charAt() 라는 것을 사용하여 String 타입으로 받은 문자열을 하나하나씩 char 타입으로 변환하여 출력하였다 코드 import java.util.Scanner; public class Ex2 { public static void main(String[] args) { Scanner sc=new ..

반응형