Using Language : Java Using Tool : IntelliJ 프로그래머스 문제 소개 문제 설명 올바른 괄호란 두 개의 괄호 '(' 와 ')' 만으로 구성되어 있고, 괄호가 올바르게 짝지어진 문자열입니다. 괄호가 올바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 합니다. ()() 또는 (())() 는 올바른 괄호입니다. )()( 또는 (()( 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return하는 solution 함수를 완성해 주세요. 제한 조건 문자열 s의 길이 : 100,000 이하의..
Using Language : Java Using Tool : IntelliJ 프로그래머스 문제 소개 문제 설명 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 제한 조건 n은 500,000,000이하의 자연수 입니다. 예시 10진법124 나라10진법124 나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 1210 41 의사코드 124나라는 3진법 처럼 1,2,4 총 3개의 숫자만으로 이루어진 나라이므로, 주어진 값을 3으로 나누어준다.값을 3으로 나누었을때 나머지가 0이 나오면 나누어 떨어지는..
Using Language : Java Using Tool : IntelliJ 프로그래머스 문제 소개 문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 4 이상, 20이하인 문자열입니다. 예시 phone_numberreturn 01033334444 *******4444 027778888 *****8888 의사코드 핸드폰 번호의 길이를 세어준다.총 길이중 4자리 말고는 모두 *로 정답에 넣어준다 ex : 번호 길이가10이라면, ..
Using Language : JavaUsing Tool : IntelliJ 프로그래머스 문제 소개 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 n을 입력받아 n이 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 예시 arr return 10 true 12 true 11 false 13 false 의사코드 int 형을 string문자열로 변환해준다. ( 각 자릿수를 합하기 위해)각 자릿수의 합을 구해준다합으로 주어진 숫자를 나누어준다. 코드 작성 및 테스트 결과 int형에서 string형으로 변환하는 함수를 찾는데 시간이 좀 걸렸으나 나머지 ..
Using Language : Java Using Tool : IntelliJ 프로그래머스 문제 소개 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. s return Zbcdefg gfedcbZ 알지 못하면 생기는 불행들.. 먼저, sort함수는 배열을 오름차순으로 정렬해주는 함수이므로 sort를 쓰기 위해서는 string형을 배열로 변환시키고, 대 소문자를 구별해서 각각 sort로 정렬 후 reverse함수를 쓰기 위해서는 String형이 되어야 한다고 생각해서 배열을 다시 String으로 만들어서 reverse후 대 소문자 분리한 부분을 다시 ..
Using Language : Java Using Tool : IntelliJ 프로그래머스 문제 소개 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행,같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. arr1 arr2 return [[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,9]] [[1],[2]] [[3],[4]] [[4],[6]] 문제 풀이 과정 정답이 될 배열의 길이를 정해주기for문을 사용해서 각 배열의 값을 더해주기 문제 풀이 과정은 다음과 같이 간단하다! 하지만 정답 배열의 길이를 정해주는 방법을 한번 더 생각하고 문제를 풀어야한다. ( 배열이 2차원 배열인..
Using Language : JavaUsing Tools : IntelliJ 프로그래머스 문제 소개 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. s answer "pPoooyY" true "Pyy" false 문제 풀이 과정 p와 P는 같게, y와 Y는 같게 카운팅 되므로 s에서 받은 것 모두 소문자/대문자로 변환문자열에 있는 단어가 P나 Y일 경우 카운팅 해주는 변수를 생성하여 카운팅카운팅한 변수들을 비교하여 값이 다르면 false 반환..
Using Language : JavaUsing Tools : IntelliJ 프로그래머스 문제 소개 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다. strings n return ["sun", "bed", "car"] 5 ["car", "bed", "sun"] ["abce", "abcd"] 2 ["abcd", "abce", "cdx"] 문제 풀이 과정 각 배열의 n에 해당하는 값을 추출한다.배열의 n을 추출한 것으로 단어의 정렬법을 생각한다. 2-1. n을 추출한 것을 단어..