본문 바로가기

카테고리 없음

9월15일공부 , 9월18일 공부 ::

금요일날 글 다 작성하고 업로드를 못했다...나란놈....

 

그래서 내용이 두개 입니당

 

 

https://url.kr/v7dxr5

 

[프로그래머스 C#] Lv.1 정수 내림차순으로 배치하기

함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.n은 1이상 8000000000

velog.io

 

 

using System;
using System.Linq;

public class Solution {
    public long solution(long n) {
        char[] arr = n.ToString().ToCharArray();
        Array.Sort(arr);
        Array.Reverse(arr);        
        long answer = Convert.ToInt64(new string(arr));
        
        return answer;
    }
}

 

위 블로그를 참고하여 알고리즘 문제를 풀어봣는데

 

딱 하면 딱 나와야하는데 계속 구글링만 하니까 되게 먼가 그렇네요

 

실력이 안늘어나는 느낌..? 나중에 코딩 테스트 보게 되면 진짜 큰일날거같은데

 

주말동안 틈틈히 공부해야져 뭐..

 

 

using System;

public class Solution
{
        public bool solution(int x)
        {
            bool answer = true;

            int temp_x = x;
            int total_sum = 0;

            double length = Math.Truncate(Math.Log10(temp_x));

            int divide = (int)Math.Pow(10, length);

            for (int i = divide; i > 0; i /= 10)
            {
                total_sum += (temp_x / i);

                temp_x %= i;
            }

            answer = x % total_sum == 0 ? true : false;

            return answer;
        }
}

 

https://blacktopaz.tistory.com/29

 

[프로그래밍 문제 풀이] 프로그래머스 - 하샤드 수 (C#)

◎ 문제 ○ 출처 https://programmers.co.kr/learn/courses/30/lessons/12947 ○ 문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9

blacktopaz.tistory.com

 

마찬가지로 하샤드수도 블로그 참고해서 해봤는데 사실 작동되면서도 왜 이런지 의문만 늘어나고...

 

따로 주말에 문법공부좀 많이 해야겠어요

 

 

오늘 강의는 반복문

 

 

while를 for로 변환시키는 방법을 배웠고

 

 

마찬가지로 for문으로 바꿀때 이런걸 배웠는데

 

곰곰히 생각해보면 for을 많이 쓰는데 왜 이렇게 되지?하고 의문은 가지지않았네요

 

이제 확실하게 알았으니까 쓸 수 있을거같습니다

 

Foreach문인데

 

옛날에 한번 C# 게임 만들때 한번 써봤는데

 

사실 쓰면서도 이게 왜 이렇게 되나 몰랐어요 

 

근데 이제 조금은 알거같은..?

 

var ### in @@@ 은 거의 만능까진 아닌데 대부분 많이 사용한다 해서 메모메모

 

내일 마저 강의듣고 개인과제 한번 발 담궈보는 시간을 가지도록 하겠습니다