https://www.acmicpc.net/problem/14681

 

14681번: 사분면 고르기

문제 흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다. 예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다. 점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표

www.acmicpc.net

문제

흔한 수학 문제 중 하나는 주어진 점이 어느 사분면에 속하는지 알아내는 것이다. 사분면은 아래 그림처럼 1부터 4까지 번호를 갖는다. "Quadrant n"은 "제n사분면"이라는 뜻이다.

예를 들어, 좌표가 (12, 5)인 점 A는 x좌표와 y좌표가 모두 양수이므로 제1사분면에 속한다. 점 B는 x좌표가 음수이고 y좌표가 양수이므로 제2사분면에 속한다.

점의 좌표를 입력받아 그 점이 어느 사분면에 속하는지 알아내는 프로그램을 작성하시오. 단, x좌표와 y좌표는 모두 양수나 음수라고 가정한다.

입력

첫 줄에는 정수 x가 주어진다. (−1000 ≤ x ≤ 1000; x ≠ 0) 다음 줄에는 정수 y가 주어진다. (−1000 ≤ y ≤ 1000; y ≠ 0)

출력

점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다.

해결방안

1. (x > 0 and y > 0) : 1사분면

2. (x < 0 and y > 0) : 2사분면

3. (x < 0 and y < 0) : 3사분면

4. (x > 0 and y < 0) : 4사분면

소스코드 - 파이썬

import sys
input = sys.stdin.readline

def Quadrant(x,y):
    if x > 0:
        if y > 0:
            return 1
        elif y < 0:
            return 4
    elif x < 0:
        if y > 0:
            return 2
        elif y < 0:
            return 3
    return 0

x = int(input())
y = int(input())
q = Quadrant(x,y)
print(q)

소스코드 - C++

#include <cstdio>
using namespace std;

int Quadrant(int x, int y) {
    int q = 0;
    if (x > 0) {
        if (y > 0) {
            q = 1;
        } else if (y < 0) {
            q = 4;
        }
    } else if (x < 0) {
        if (y > 0) {
            q = 2;
        } else if (y < 0) {
            q = 3;
        }
    }
    return q;
}

int main() {
    int x, y, q;
    scanf("%d", &x);
    scanf("%d", &y);
    q = Quadrant(x, y);
    printf("%d", q);
}

소스코드 - Java

import java.util.*;

public class Main {
    public static int Quadrant(int x, int y){
        int q = 0;
        if (x > 0) {
            if (y > 0) {
                q = 1;
            } else if (y < 0) {
                q = 4;
            }
        } else if (x < 0) {
            if (y > 0) {
                q = 2;
            } else if (y < 0) {
                q = 3;
            }
        }
        return q;
    }

    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int x = sc.nextInt();
        int y = sc.nextInt();
        int q = Quadrant(x,y);
            
        System.out.println(q);
    }
}

https://www.youtube.com/watch?v=chuW-EhWgGI&feature=youtu.be

Wherever You Are - ONE OK ROCK

I'm telling you

I softly whisper

Tonight tonight

You are my angel

愛してるよ
아이시테루요
사랑해

2人は一つに
후타리와 히토츠니
두 사람은 하나로

Tonight tonight
I just say

Wherever you are, I always make you smile

Wherever you are, I'm always by your side

Whatever you say, 君を思う気持ち
Whatever you say, 키미오 오모우키모치
Whatever you say, 너를 생각하는 마음

I promise you"forever"right now
I don't need a reason
I just want you baby
Alright alright
Day after day

この先長いことずっと
코노사키 나가이코토 즛토
앞으로 긴 시간동안

どうかこんな僕とずっと
도우카 콘나보쿠토 즛토
제발 이런 나와 계속

死ぬまで Stay with me
시누마데 Stay with me
죽을 때까지 Stay with me

We carry on…


Wherever you are, I always make you smile

Wherever you are, I'm always by your side

Whatever you say, 君を思う気持ち
Whatever you say, 키미오 오모우키모치
Whatever you say, 널 생각하는 마음

I promise you"forever"right now

Wherever you are, I never make you cry

Wherever you are, I never say goodbye

Whatever you say, 君を思う気持ち
Whatever you say, 키미오 오모우키모치
Whatever you say, 널 생각하는 마음

I promise you"forever"right now

僕らが出逢った日は2人にとって一番目の記念すべき日だね
보쿠라가데앗타히와 후타리니톳테 이치방메노키넨스베키히다네
우리가 만난 날은 둘에게 있어 첫 번째로 기념해야할 날이야

そして今日という日は2人にとって二番目の記念すべき日だね
소시테 쿄토이우히와후타리니톳데 니방메노 키넨스베키히다네
그리고 오늘이란 날은 둘에게 있어 두 번째로 기념해야할 날이야


心から愛せる人
코코로카라 아이세루히토
진심으로 사랑할 수 있는 사람

心から愛しい人
코코로카라 이토시이히토
진심으로 사랑스러운 사람

この僕の愛の真ん中にはいつも君がいるから
코노보쿠노아이노만나카니와 이츠모키미가이루카라
내 사랑의 한가운데엔 언제나 네가 있기에

Wherever you are, I always make you smile

Wherever you are, I'm always by your side

Whatever you say, 君を思う気持ち
Whatever you say, 키미오 오모우키모치
Whatever you say, 널 생각하는 마음

I promise you"forever"right now

Wherever you are

Wherever you are

Wherever you are..

#WhereverYouAre #OneOkRock #JPOP #가사 #歌詞 #lyrics #발음 #해석

https://www.acmicpc.net/problem/1712

 

1712번: 손익분기점

월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다. 노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로

www.acmicpc.net

문제

월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다.

예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다.

노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총 비용(=고정비용+가변비용)보다 많아지게 된다. 최초로 총 수입이 총 비용보다 많아져 이익이 발생하는 지점을 손익분기점(BREAK-EVEN POINT)이라고 한다.

A, B, C가 주어졌을 때, 손익분기점을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 21억 이하의 자연수이다.

출력

첫 번째 줄에 손익분기점 즉 최초로 이익이 발생하는 판매량을 출력한다. 손익분기점이 존재하지 않으면 -1을 출력한다.

해결 방안

1. 손익분기점을 구하기 위한 판매개수를 n으로 두고 수학적으로 접근한다.

생산비용 = A + (B * n) 
판매비용 = C * n 
손익 분기점 = (판매비용 - 생산비용 > 0) 
= (C*n) - (A + (B*n)) > 0 
= (C-B)*n - A > 0 
= n > A / (C-B) 

 

2. 손익 = (C-B)*n - A 에서 A,B,C는 자연수이므로 C-B가 0보다 작거나 같으면 손익은 항상 음수이므로 손익 분기점이 존재하지
않는다.(n = -1)
3. n > A / (C-B) 를 만족하는 n은 math.floor(A/(C-B) + 1)을 이용하여 구할 수 있다. 이는 다음과 같은
코드와 같은 작업을 한다.

if (A % (C-B) == 0): 
n = A//(C-B) + 1 
else: 
n = A//(C-B) + 2 

 

4. 2,3을 코드로 정리하면 다음과 같다.

if C - B <= 0: 
  n = -1 
else: 
  n = math.floor(A/(C-B) + 1) 

소스 코드

import sys, math 
input = sys.stdin.readline 

''' 
cost = A + (B * n) 
sale = C * n 
BreakEventPoint = (sale - cost > 0) 
sale - cost > 0 
 = (C*n) - (A + (B*n)) > 0 
 = (C-B)*n - A > 0 
 = n > A / (C-B) 

if C - B <= 0: 
  n = -1 
else: 
  n = math.floor(A/(C-B) + 1) 

''' 
def BreakEventPoint(A,B,C): 
  if C - B <= 0: 
    n = -1 
  else: 
    n = math.floor(A/(C-B) + 1) 
  return n 

def main(): 
  # input 
  A,B,C = list(map(float, input().split())) 
  n = BreakEventPoint(A,B,C) 
  print(n) 

main() 

+ Recent posts