본문 바로가기

기타

241224 알고리즘 연습

두 수의 나눗셈

  • 정수만 출력하는 부분에서 부동소수점형은 (지수, 가수)로 이루어져 있고 int형은 정수형이기 때문에 가수 부분을 버려서 정수 부분만 출력되는 것
class Solution {
    public int solution(int num1, int num2) {
        int answer = 0;
        float n = (float) num1 / num2 * 1000;
        answer = (int) n;
        return answer;
    }
}

 

잃어버린 괄호

  • 핵심은 '-' 괄호 이후에 모든 수들을 더해서 빼는 것
  • 1 + 2 + 8 - 9 +7 - 8 이라면 -> 1 + 2 + 8 - (9 + 7 -8)처럼 계산되게
n = input().split('-') #-를 기준으로 리스트로 나눔 / 2 + 3 + 5 - 1 + 7 - 8

#n[0] = 2 + 3 + 5
ans = sum(map(int, n[0].split('+'))) #-이전의 값은 +를 기준으로 나눠서 더함

#- 이후의 다 더할 값들 순회 후 빼기
for i in n[1:]:
    ans -= sum(map(int, i.split('+')))

print(ans)

 

import java.util.Scanner;

public class 잃어버린괄호 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String input = scanner.nextLine();

        String[] parts = input.split("-");
        int result = Integer.parseInt(parts[0]);

        for (int i = 1; i < parts.length; i++){
            result -= sum(parts[i]);
        }

        System.out.print(result);
    }

    public static int sum(String str){
        //String을 담을 수 있는 배열
        String[] numbers = str.split("\\+");
        int sum = 0;
        for (String number : numbers){
            sum += Integer.parseInt(number);
        }

        return sum;
    }
}

'기타' 카테고리의 다른 글

linux 기본 명령어  (0) 2024.12.23
10799번 쇠막대기 / 스택  (0) 2024.12.17
1931번 회의실 배정 / 그리디  (0) 2024.12.17