문제 : 2차원 배열(배열을 요소로 갖는 배열)을 입력받아 'B'의 위치 정보를 요소로 갖는 배열을 리턴해야 합니다. 입력 : 배열을 요소로 갖는 배열 arr[i]는 'A' 또는 'B'만을 요소로 갖는 배열 출력 : 'B'의 위치 정보(행, 열)를 요소로 갖는 배열을 리턴해야 합니다. 배열의 요소는 차례대로 행, 열입니다. ([행, 열]) 행: 'B'를 요소로 갖는 배열 arr[i]의 인덱스 i 열: arr[i]에서 'B'(arr[i][j])의 인덱스 j 주의사항 : arr, arr[i]의 길이는 다양하게 주어집니다. 항상 한 개의 문자열 'B'가 존재합니다. 입출력 예시 : 풀이 : 나만의 해설: for문을 이용하여 2차원 배열내의 배열요소를 순차적으로 돈다. i번째 배열에 'B'가 포함되어있는지 여부..
문제 : 문자열을 입력받아 연속된 한자리 홀수 숫자 사이에 '-'를 추가한 문자열을 리턴해야 합니다. 입력 : string 타입의 숫자 문자열 출력 : string 타입을 리턴해야 합니다. 주의사항 : 0은 짝수로 간주합니다. 입출력 예시 : 풀이 : 나만의 해설: 문자열을 리턴해주어야하기 때문에 result에 빈문자열로 초기화를 해준다. for 반복문을 돌면서 현재의 Idx에서 str[i]를 2로 나누어 나머지가 1일때 즉, 홀수일때 그리고 현재의Idx의 전인 str[i-1]을 2로 나누어 나머지가 1일때 result에 "-"를 넣어주고 그다음에 result에 str[i]를 넣어줌으로써 str[i]앞에 "-"가 위치하도록 하였다.
문제 : 문자열을 요소로 갖는 배열을 입력받아 가장 짧은 문자열과 가장 긴 문자열을 제거한 배열을 리턴 입력 : string 타입을 요소로 갖는 배열 arr[i].length는 20 이하 출력 : 배열을 리턴해야 합니다. 주의사항 : 가장 짧은 문자열의 길이와 가장 긴 문자열의 길이가 같은 경우는 없습니다. 가장 짧은 문자열 또는 가장 긴 문자열이 다수일 경우, 나중에 위치한 문자열을 제거합니다. 입출력 예시 : 풀이 : 나만의 해설: 배열을 리턴해야하기 때문에 빈배열을 먼저 선언해준다. 그리고 가장 긴문자열의 길이(longestLen), 가장 짧은문자열의 길이(shortLen), 가장 긴문자열의 Idx(longestIdx), 가장 짧은문자열의 Idx(shortestIdx)를 각각 초기화를 해준다. 여기..
문제 : 문자열을 입력받아 문자열 내에 아래 중 하나가 존재하는지 여부를 리턴해야 합니다. 'a'로 시작해서 'b'로 끝나는 길이 5의 문자열 'b'로 시작해서 'a'로 끝나는 길이 5의 문자열 입력 : string 타입의 알파벳 문자열 출력 : boolean 타입을 리턴 주의사항 : 대소문자를 구분하지 않습니다. 공백도 한 글자로 취급합니다. 'a'와 'b'는 중복해서 등장할 수 있습니다. 입출력 예시 : 풀이 : 나만의 해설: 대소문자를 구분하지 않기 때문에 str문자열을 모두 다 소문자로 바꿔준다. sol을 빈배열로 준다. 반복문을 돌려 소문자로 바꾼 str을 (1~5), (2~6), (3~7) 이처럼 5개씩 끊어서 sol 배열에 넣어준다. sol배열에 들어간 5개의 문자 중 0번째, 4번째 문자가..
문제 : 문자열을 입력받아 해당 문자열에 등장하는 두 칸의 공백을 모두 한 칸의 공백으로 바꾼 문자열을 리턴해야 합니다. 입력 : string 타입의 문자열 출력 : string 타입의 문자열 주의사항 : 두 칸을 초과하는 공백은 존재하지 않는다고 가정합니다. 입출력 예시 : 풀이 : 나만의 해설: 정규식을 활용하여 풀었다. 정규식을 크게 풀어보면, 문자열의 시작부분에 있는 하나 이상 또는, 두개 이상의 연속 공백를 대체하는 단일 공백 문자 (" ") 를 주었다. 자세하게 정규식을 뜯어보면, ^\s+ : 문자열의 시작 부분에 하나 이상의 공백 문자를 찾습니다. \s{2,} : \s는 모든 공백 문자를 나타내며, {2,}는 연속으로 두번 이상의 공백을 나타낸다. 이것들을 마지막에 " " 를 통하여 단일 공..
문제 : 문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자가 대문자인 문자열을 리턴해야 합니다. 입력 : string 타입의 공백이 있는 알파벳 문자열 출력 : string 타입을 리턴해야 합니다 주의사항 : 단어는 공백으로 구분합니다. 연속된 공백이 존재할 수 있습니다. 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. 입출력 예시 : 풀이 : 나만의 해설: 처음에 생각했던건, 문자열 str을 찢어보려고 하였다. 그래서 split 메서드를 생각했다가, 그렇게 되면 다음 단어의 기준점을 못잡을 것 같아서 replace에 정규식을 주어서 안의 정규식에 해당하는 부분을 변경할 수 있었다. 정규식을 해석해보면, \b 를 통해 문자의 경계선을 찾았고, g는 일치하는 패턴을 모두 변경하라는 의미이기..
문제 : 문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자로 이루어진 문자열을 리턴해야 합니다. 입력 : string 타입의 공백이 있는 알파벳 문자열 출력 : string 타입을 리턴해야 합니다 주의사항 : 단어는 공백 한 칸으로 구분합니다. 연속된 공백은 없다고 가정합니다. 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. 입출력 예시 : 풀이 : 나만의 해설: 먼저, 주의사항에 빈 문자열을 입력받는 경우, 빈 문자열을 리턴해야 하니까 if문을 주어 str의 길이가 0이면 "" 빈 문자열을 리턴하게 해주었다. 문자열로 리턴해야하니까 변수result를 ""로 초기화시켜주고, str이라는 문자열을 받고, 받은 문자열을 split(" ")을 통해 공백을 기준으로 찢어서 배열에 담는다. 그 공..