Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 드림핵
- 생활코딩
- The Loard of BOF
- SWEA
- 숙명여자대학교 정보보안 동아리
- Sookmyung Information Security Study
- BOJ
- 웹페이지 만들기
- 기계학습
- 백준
- Python
- Javascript
- 풀이
- PHP 웹페이지 만들기
- XSS Game
- c
- WarGame
- 머신러닝
- lob
- CSS
- BOJ Python
- 파이썬
- hackctf
- hackerrank
- HTML
- c++
- 자료구조 복습
- siss
- 숙명여자대학교 정보보안동아리
- C언어
Archives
- Today
- Total
혜랑's STORY
[BOJ_C] 1037번, 1712번 본문
# BOJ 1037번 : 약수
- 풀이
어떤 수 N의 진짜 약수가 "모두" 주어진다고 했다. 즉, 주어진 수들을 정렬 한 뒤, 가장 작은 수와 가장 큰 수를 곱해주면 어떤 수 N을 구할 수 있게 되는 것이다.
- 코드
#include <stdio.h>
#include <stdlib.h>
void mysort(int x[], int n);
int main(){
int num;
scanf("%d",&num);
int* measure = (int*)malloc(sizeof(int)*num);
for(int i=0; i<num; i++)
scanf("%d",&measure[i]);
mysort(measure, num);
printf("%d", measure[0]*measure[num-1]);
}
void mysort(int x[], int n){
for(int i=0; i<n; i++){
for(int j=0; j<n-1; j++){
if(x[j] > x[j+1]){
int temp = x[j];
x[j] = x[j+1];
x[j+1] = temp;
}
}
}
}
- 실행결과
# BOJ 1712번 : 손익분기점
- 풀이
처음 생각한 방법은 " A + B * 판매량 < C * 판매량 "이 만족될 때 까지 판매량을 1씩 증가시켜 주었다.
#include <stdio.h>
int main(){
int A, B, C;
int sale = 0;
scanf("%d %d %d", &A, &B, &C);
while(1){
if(B >= C){
sale = -1;
break;
}
else if(A + B*sale < C*sale)
break;
sale++;
}
printf("%d", sale);
return 0;
}
그러나 틀렸다는 결과를 얻게 되었고... 다른 방법을 생각해 보기로 하였다.
다시 생각한 풀이는 앞의 수식을 판매량에 대하여 정리한 뒤, 판매량을 얻어내는 것이었다. 정리한 결과 " A / (C - B) < 판매량 "이라는 것을 알아낼 수 있었고, 좌변 값에 1을 더하여 최초의 손익분기 점을 알아낼 수 있었다.
- 코드
#include <stdio.h>
int main(){
int A, B, C;
scanf("%d %d %d", &A, &B, &C);
if(B >= C)
printf("-1");
else
printf("%d", A/(C - B) + 1);
return 0;
}
- 실행결과
'2021 SISS 21기 활동 > 겨울방학 C' 카테고리의 다른 글
[BOJ_C] 1316번, 2869번 (0) | 2021.02.08 |
---|---|
[BOJ_C] 2748번, 2750번 (0) | 2021.02.01 |
[BOJ_C] 2941번, 2884번 (0) | 2021.01.23 |
[2021 겨울 C언어 2주차] (0) | 2021.01.14 |
[BOJ_C] 10809번, 10773번 (0) | 2021.01.06 |