2025.01.27 (월)

윤혜진·2025년 1월 27일
0

TIL

목록 보기
12/42

📍오늘의 학습 키워드

  • 1주차 강의 수강
    • 변수와 자료형
    • 연산자와 문자열 처리
  • 2주차 강의 수강
    • 조건문과 반복문
    • 배열과 컬렉션
    • 메서드와 구조체

📍학습 내용

  • 리터럴(Literal)
    • 프로그램에서 직접 사용되는 상수 값으로, 소스 코드에 직접 기록되어 있는 값
    • 상수: 변하지 않고, 항상 일정한 값을 갖는 수
    • 리터럴 예시
      • 10
      • 20
      • a, b, c, d
    • 즉 우리가 변수 옆에 선언해주는 값들을 리터럴이라고 함
      int number = 10; // 여기서 10은 리터럴이다.
  • Console.WriteLine
    • Console.WriteLine의 값은 전부 string값으로 저장된다.
    • 때문에 int값을 받고 싶다면 따로 Parse를 사용해야함.
      string input = Console.ReadLine();
      int num1 = int.Parse(input); 
      
      num1 = int.Parse(Console.ReadLine()); //이런 형식도 가능하다.
  • Parse와 형변환

    • Parse는 형변환이 아니라 숫자(정수/실수)처럼 보이는 문자열을 보이는 그대로의 값으로 변환시켜 주는 것임.

    • 아래는 예시 코드

      Console.WriteLine("형변환과 Parse의 차이를 알아보자!\n");
      
      Console.Write("명시적 형변환을 이용해 '1'을 정수형으로 변환할 경우:");
      Console.WriteLine((int)'1');
      
      Console.Write("Parse를 이용해 '1'을 정수형으로 변환할 경우: ");
      Console.WriteLine(int.Parse("1"));
    • 결과:

      Q. 형변환을 했을 뿐인데 왜 ‘1’이 49가 된걸까?
      A. 👉 [CS] ASCII 코드

  • 문자의 형변환

    • 문자→문자열은 명시적/암시적 형변환이 되지 않음

  • 다중입력

    • Split 을 이용하여 입력받은 문자열을 나누어 줄 수 있다.
      Console.Write("숫자 두 개를 입력해주세요: ");
      string input = Console.ReadLine();    // "10 20"과 같은 문자열을 입력받음
      
      string[] numbers = input.Split(' ');  // 문자열을 공백으로 구분하여 배열로 만듦
      int num1 = int.Parse(numbers[0]);     // 첫 번째 값을 정수로 변환하여 저장
      int num2 = int.Parse(numbers[1]);     // 두 번째 값을 정수로 변환하여 저장
      
      int sum = num1 + num2;                // 두 수를 더하여 결과를 계산
      
      Console.WriteLine("The sum of {0} and {1} is {2}.", num1, num2, sum);
  • Dictionary와 KeyValuePair의 차이
    • Dictionary
      • 여러 개의 키-값 쌍을 관리하는 컬렉션
      • Add(), Remove(), ContainsKey() 등 다양한 메서드를 제공하여 데이터 관리에 매우 유용
      • 키를 통해 값을 수정할 수 있다.
    • KeyValuePair
      • 단일 키-값 쌍을 저장
      • 읽기 전용의 성격이 강함
      • 데이터를 한 번 설정하면 변경할 수 없음

📍겪은 어려움

  • 2주차 과제를 하던 중 습관적으로 board.Length를 사용했다가 다음과 같은 오류가 뜸
    Unhandled exception. System.IndexOutOfRangeException:
    Index was outside the bounds of the array.
    • 알고보니 크기 5x5의 다중 배열을 다중 for문을 통해 초기화 하려다가, 습관적으로 board.Length를 사용하는 바람에 오류가 난 것이었음.
    • i < board.Length; 부분을 i < 5로 바꿔주자 문제 없이 잘 돌아가게 됨.
    • 찾아보니 다중 for문에서 다중 배열의 길이를 이용하려면 GetLength를 사용해도 좋을 것 같다.
    • 참고 블로그 Link 👉 배열의 길이 알아보기 (2차원 또는 다차원 배열의 크기)

📍회고 및 반성

  • 하루만에 2주차 강의까지 들었더니 TIL에 쓸 것들이 너 무 너 무 많았다.
  • 2주차 강의 정리를 제대로 하지 못한 것 같아서 아쉬움.

0개의 댓글

관련 채용 정보