사자자리

[C언어] 2주차 본문

C언어/C언어 이론

[C언어] 2주차

renne 2022. 4. 29. 12:07

[백준] 20361번 일우는 야바위꾼

 

 

 

#include <stdio.h>
int main(void) {
	int n, x, k, a, b;
	scanf("%d %d %d", &n, &x, &k);
    
	for (int i = 1; i <= k; i++){
		scanf("%d %d", &a, &b);
		if (a == x)
			x = b;
		else if (b == x)
			x = a;
		else
			continue;
	}
    
	printf("%d", x);

	return 0;
}

 

int i = 1

 - for 반복문을 시작할 때의 초기식

 - 정수형 변수 i: 루프 인덱스. index의 첫 알파벳을 따서 i를 주로 사용한다. for 반복문 바깥에서 선언해도 된다.

 

i <= k

 - for 반복문의 조건식

 - 조건식이 참일 동안 반복하고, 거짓일 때 반복을 끝낸다.

 

i++

 - 변화식

 - 반복문이 한 번 실행될 때마다 수행하는 식

 - 한 번 반복할 때마다 i를 1씩 증가시킨다.

 

for(int i = 1; i <= k; i++)

 - 처음 반복할 때 i는 1, 두 번째 반복할 때 i는 2, 이런 식으로 i가 k가 되기 전까지 반복한다.

 - 총 k번 반복한다.

 

공은 x번째 컵에 있고, 입력된 두 정수 a, b번째 컵의 위치를 서로 바꿔야 하므로

 

 만약 a에 x와 같은 정수가 입력되면 x를 b로 바꾸고   if (a == x) x = b; 
 만약 b에 x와 같은 정수가 입력되면 x를 a로 바꾼다.  if else (b == x) x = a; 
 만약 a와 b 모두에 x와 다른 정수가 입력되면 그냥 둔다.  else continue; 

 


 

[백준] 1712번 손익분기점

 

 

 

#include <stdio.h>
int main(void) {
	int a, b, c;
	scanf("%d %d %d", &a, &b, &c);

	if (c > b)
		printf("%d", a / (c - b) + 1);
	else
		printf("-1");

	return 0;
}

 

A만원: 고정 비용

B만원: 노트북 1대 생산 비용

C만원: 노트북 1대 판매 가격

손익분기점이 발생하는 판매량: A + Bx < Cx 이 성립할 때, 정수 x의 최솟값

따라서 A/(C-B)+1를 출력해야 한다.

 

분모인 (C-B)는 0보다 커야 하므로

 

 C > B일 때는 A/(C-B)+1를 출력하고  if (c > b) printf("%d", a / (c - b) + 1); 
 아닐 때는 -1를 출력한다.  else printf("1"); 

 

'C언어 > C언어 이론' 카테고리의 다른 글

[C언어] 5주차 배열과 문자열  (0) 2022.05.20
[C언어] 4주차 함수  (0) 2022.05.14
[C언어] 4주차 제어문  (0) 2022.05.14
[C언어] 3주차 연산자  (0) 2022.05.06
[C언어] 1주차 #include <stdio.h>  (0) 2022.04.02
Comments