반응형
https://softeer.ai/practice/7368
Softeer - 현대자동차그룹 SW인재확보플랫폼
softeer.ai
1. C 풀이
#include <stdio.h>
int main(void) {
int a, b, d;
int result = 0;
int walk = 0;
// 입력 값 읽기
scanf("%d %d %d", &a, &b, &d);
// 터치 전 = a 동안 남우 이동, b 동안 남우 대기
while (1) {
// a 인 동안
for (int i = 0; i < a; i++) {
walk++; // 이동거리 1씩 추가
result++; // 총 소요시간 1씩 추가
// 만약 이동거리와 거리가 같아지면 for문 탈출
if (walk == d) {
break;
}
}
// 이동거리와 거리가 같아지면 while문 탈출
if (walk == d) {
break;
}
// 총 소요시간에 b를 더해주기
result += b;
}
// 다시 이동거리 0으로 리셋
walk = 0;
// 터치 후 : b 동안 남우 이동, a 동안 남우 대기
while (1) {
// b 인 동안
for (int i = 0; i < b; i++) {
walk++;
result++;
if (walk == d) {
break;
}
}
if (walk == d) {
break;
}
result += a;
}
printf("%d\n", result);
return 0;
}
2. Python 풀이
import sys
# 입력 값 읽기
input = sys.stdin.readline
# 입력 값 a,b,d 로 분리하기
a,b,d = map(int,input().split())
result = 0 # 총 소요시간
walk = 0 # 남우의 이동거리
# 터치 전 = a 동안 남우 이동, b 동안 남우 대기
while True:
# a 인 동안
for _ in range(a):
walk += 1 # 이동거리 1씩 추가
result+=1 # 총 소요시간 1씩 추가
# 만약 이동거리와 거리가 같아지면 for문 탈출
if walk ==d:
break
# 이동거리와 거리가 같아지면 while문 탈출
if walk == d:
break
# 총 소요시간에 b를 더해주기
result+=b
# 다시 이동거리 0으로 리셋
walk=0
# 터치 후 : b 동안 남우 이동, a 동안 남우 대기
while True:
# b 인 동안
for _ in range(b):
walk += 1
result+=1
if walk ==d:
break
if walk == d:
break
result+=a
print(result)
반응형
'알고리즘 > etc (리트코드,소프티어 ... )' 카테고리의 다른 글
[소프티어][lv.1]근무시간 - C , Python 풀이 (0) | 2024.04.02 |
---|---|
[소프티어][lv.1][한양대 HCPC 2023]개표 - C , python 풀이 (0) | 2024.04.02 |