반응형

출처 : 프로그래머스(https://school.programmers.co.kr/)

 

문제만 봐서는 잘 이해가 안 됐는데 예를 보니까 이해가 됐습니다.

abcde라는 문자열을 입력했을 때, 문자를 하나씩 떼어내서 출력하는 프로그램을 완성하라는 문제입니다.

 

정답 예제1 (for문 사용)

using System;

public class Example
{
    public static void Main()
    {
        String s;

        Console.Clear();
        s = Console.ReadLine();
        
        for(int i = 0;i < s.Length;i++){
            char r = s[i];
            Console.WriteLine(r);
            }

    }
}

저는 for문을 사용해서 해결했습니다.

먼저 입력되는 문자열을 담아주는 변수 s의 길이만큼 for문을 반복해 줍니다.

그리고 char 타입의 변수 r에 문자열의 첫 번째부터 끝까지 차례대로 할당합니다.

Console.WriteLine함수를 통해 r변수에 담긴 문자를 차례대로 출력합니다.

 

  • 문자열 'abcde'를 입력했을 때 출력 결과 

 

 

 

 

 

 

정답 예제 2(foreach문 사용)

Foreach문법

foreach문은 컬렉션(collection)이나 배열(array) 등의 요소를

하나씩 순회하면서 처리할 때 사용되는 반복문입니다.

foreach문은 반복 대상의 데이터형에 따라 자동으로 반복을 처리하기 때문에,

일반적인 for문보다 코드가 간결해지고 가독성이 좋아집니다.

using System;

public class Example
{
    public static void Main()
    {
        String s;

        Console.Clear();
        s = Console.ReadLine();
        
        foreach(char r in s){
            Console.WriteLine(r);
        }

    }
}

개인적으로는 foreach문으로 문제를 푸는 것이

코드 가독성면에서도 훨씬 깔끔하다는 생각이 들었습니다.

 

  • 문자열 'abcde'를 입력했을 때 출력 결과

반응형
반응형
using System;

public class Example
{
    public static void Main()
    {
        // 특수문자 출력 코드
        Console.WriteLine("!@#$%^&*(\\'\"<>?:;");

    }
}
  • 츨력결과 !@#$%^&*(\'"<>?:;

 

C#에서 특수문자를 출력하는 방법

 

일반적으로 특수문자도 Console.writeLine함수로 출력이 가능합니다.

그러나 '(작은 따옴표), "(큰 따옴표)와 같은 특수문자는

문자열을 둘러싸는 기호로 사용되는데요.

그러므로 출력을 하기 위해서는 '이스케이프 문자(escape character)'를 사용해야 합니다.

 

이스케이프 문자(escape character)

 

이스케이프 문자는 문자열 내에서 특수한 의미를 가지는 문자를 나타내기 위해 사용됩니다.

백슬래시(\)기호와 함께 사용되며, 백슬래시 다음에 오는 문자는 일반 문자로 처리합니다.

 

C#에서 자주 사용되는 이스케이프 문자 모음

 

반응형
반응형

골드메탈 - 뱀서라이크 유니티

Pixel Per Unit

Unity에서 Pixels Per Unit (PPU)란, 1 유닛(Unit)에 포함되는 픽셀(pixel)의 수를 의미합니다.

1 Unit은 위 사진에서 보이는 네모 1칸입니다.

즉, 네모 한 칸 안에 들어가는 픽셀의 수가 PPU인 것이죠.

사진 속 남자 캐릭터의 크기는 18 pixel x 20 pixel입니다.

일반적으로 캐릭터 스프라이트와 PPU를 동일하게 가져간다고 합니다.
만약 PPU 값과 캐릭터 스프라이트의 크기가 다르다면 아래 사진과 같은 문제가 생길 수 있습니다.

캐릭터가 화면에 너무 크게 나타나거나 작게 나타나는 등의 문제입니다.

좌측은 PPU가 18, 우측은 PPU가 100일 경우의 사진입니다.

좌측 : PPU - 18 설정했을 때 / 우측 : PPU - 100 설정했을 때

PPU와 스프라이트의 크기를 일치시켜 주는 이유 중 하나는 '편의성' 때문인 거 같습니다.

PPU 값과 캐릭터 스프라이트의 크기를 일치시켰을 때, 좌표를 1 이동하면 1 유닛만큼 이동합니다.

즉, 게임 오브젝트의 크기와 이동 거리 등을 측정할 때 유용합니다.

 

소형 스프라이트를 사용할 때 유용한 팁

유니티에서는 스프라이트 최적화를 위해

파일을 자체적으로 압축시키는 옵션이 기본으로 되어 있습니다.

 

사이즈가 너무 작은 픽셀 아트의 경우

압축할 때 오히려 색이 변질되거나 선명도가 감소하는 문제가 생긴다고 해요.

그래서 Filter Mode를 Point(no filter), Compression을 None으로 설정해 주면

위와 같은 문제를 예방하는데 도움이 됩니다.

반응형

+ Recent posts