반응형
[ 문제 ]
은민이는 4와 7을 좋아하고, 나머지 숫자는 싫어한다. 금민수는 어떤 수가 4와 7로만 이루어진 수를 말한다.
N이 주어졌을 때, N보다 작거나 같은 금민수 중 가장 큰 것을 출력하는 프로그램을 작성하시오.
[ 코드 ]
1. 내 코드
using System;
class Program
{
static int FindNum(int n)
{
while (n >= 0)
{
if (ContainsNum(n))
{
return n;
}
n--;
}
return -1;
}
static bool ContainsNum(int number)
{
string numString = number.ToString();
foreach (char digit in numString)
{
if (digit != '4' && digit != '7')
{
return false;
}
}
return true;
}
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
int largestNumber = FindNum(n);
Console.Write(largestNumber);
}
}
2. 다른 사람 코드
using static System.Console;
class Program
{
static int roll(int a){
while(a>0){
int v=a;
int cnt=0;
while(v>0){
if(v%10==7||v%10==4){
}
else{
cnt++;
}
v/=10;
}
if(cnt==0){
break;
}
a--;
}
return a;
}
static void Main() {
int n=int.Parse(ReadLine());
Write(roll(n));
}
}
[ 실행화면 ]
문제링크: https://www.acmicpc.net/problem/1526
반응형
'Language > C#' 카테고리의 다른 글
[C#] 백준 27434번 팩토리얼 3 못푼문제 (실패) (4) | 2024.04.20 |
---|---|
[C#] 백준 11399번 ATM (1) | 2024.04.14 |
[C#] 백준 1260번 DFS와 BFS (0) | 2024.04.12 |
[C#] 백준 24479번 알고리즘 수업 - 깊이 우선 탐색 1 (오름차순) (0) | 2024.04.10 |
[C#] 백준 1032번 명령 프롬프트 (0) | 2024.04.09 |