[프로그래머스] 코딩테스트 입문 Day 6

dBoyeob·2023년 5월 26일
0

Problem-Solving

목록 보기
9/10

[Day 6] 문자열, 반복문, 출력, 배열, 조건문

Q1. 문자열 뒤집기

Question
문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.

Constraints
1 ≤ my_string의 길이 ≤ 1,000

Thinking

  • String은 char의 배열 -> char 배열을 만들어서 거꾸로 뒤집기로 생각
  • String.charAt() 메서드를 찾다가 string 자체에 + 연산을 할 수 있음을 알게됨

Answer

class Solution {
    public String solution(String my_string) {
        String answer = "";
        for(int i=0; i<my_string.length(); i++){
            answer += my_string.charAt(my_string.length()-i-1);
        }
        
        return answer;
    }
}
  • 다른사람의 풀이에서 StringBuilder의 reverse 메서드를 써서 바로 해결하는 풀이를 봤다. StringBuilder 공부해보기

Q2. 직각삼각형 출력하기

Question
"*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요.

Constraints
1 ≤ n ≤ 10

Thinking
높이와 너비가 n인 직각 이등변 삼각형
n개 줄, 최대 n개 -> n번째 줄에 n개 출력

Answer

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        
        for(int i=1; i<=n; i++){
            for(int j=1; j<=i; j++){
                System.out.print("*");
            }
            System.out.print("\n");
        }
    }
}

Q3. 짝수 홀수 개수

Question
정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.

Constraints

  • 1 ≤ num_list의 길이 ≤ 100
  • 0 ≤ num_list의 원소 ≤ 1,000

Thinking

  • 짝수와 홀수의 개수를 담은 배열 -> int [] answer = {0, 0};
    형태로 선언 (원소 두 개)
  • num_list 원소 개수만큼 반복하면서 홀짝 여부 확인

Answer

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = {0, 0};
        for(int i=0; i<num_list.length; i++){
            if(num_list[i]%2==0) answer[0]++;
            else answer[1]++;
        }
        return answer;
    }
}
  • 다른 사람의 풀이) 반복문 안에 if문 사용할 필요 없이 answer[num_list[i] % 2]++; 코드 사용 가능

Q4. 문자 반복 출력하기

Question
문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.

Constraints

  • 2 ≤ my_string 길이 ≤ 5
  • 2 ≤ n ≤ 10
  • "my_string"은 영어 대소문자로 이루어져 있습니다.

Thinking

  • 빈 문자열("")로 시작 -> 반복문안에서 charAt(), n번만큼 더하기

Answer

class Solution {
    public String solution(String my_string, int n) {
        String answer = "";
        for(int i=0; i<my_string.length(); i++){
            for(int j=0; j<n; j++){
                answer += my_string.charAt(i);
            }
        }
        
        return answer;
    }
}
  • 다른사람의 풀이) stringBuilder의 append, repeat 메서드 공부해보기
profile
HGU Computer Science 21 && CRA 21-1 👨🏻‍💻

0개의 댓글