프로그래머스 핸드폰 가리기

2024. 2. 20. 09:58·알고리즘

나의 풀이

using System.Linq;
using System.Collections.Generic;

public class Solution {
    public string solution(string phone_number) {
         string answer = "";
         List<char> numbers = new List<char>();
         phone_number = new string(phone_number.Reverse().ToArray());           
       
        for (int i = 0; i < phone_number.Length; i++)
        {
          if (i > 3)
             numbers.Add('*');
          else
             numbers.Add(phone_number[i]);
        }   
        
        numbers.Reverse();
        answer = new string(numbers.ToArray());   
        return answer;
    }
}

 

 

다른사람의 풀이

 

 

이번 문제에서는 반성을 해야할 것 같다. 뒷번호 4자리를 제외하는 배열을 돌게하려면 

전체 길이의 -4만 했으면 됬는데 불필요하게 배열을 뒤집고 *로 바꾼 이후에 또 다시 뒤집는 방법으로 해결하였다.

 

string은 readOnly 타입이기 때문에 특정 배열에 접근하여 수정하는 것이 불가능하다고 생각해서 Char의 배열로 변환하였는데 이 또한 Substring으로 뒤에서 부터 문자열을 자르고, 이후에 PadLeft를 통해 해결이 가능했다는 사실을 알게 되었다.

 

조금 더 시야를 넓게 가지고 침착하게 문제에 다가가는 습관이 필요할 것 같다.

'알고리즘' 카테고리의 다른 글

[프로그래머스] 가운데 글자 가져오기  (0) 2024.02.23
[프로그래머스] C# 제일 작은 수 제거하기  (0) 2024.02.22
프로그래머 음양 더하기  (0) 2024.02.19
프로그래머스 나누어 떨어지는 숫자 배열  (0) 2024.02.16
프로그래머스 서울에서 김서방 찾기  (0) 2024.02.15
'알고리즘' 카테고리의 다른 글
  • [프로그래머스] 가운데 글자 가져오기
  • [프로그래머스] C# 제일 작은 수 제거하기
  • 프로그래머 음양 더하기
  • 프로그래머스 나누어 떨어지는 숫자 배열
하길
하길
게임 개발을 위한 나의 모든 지식의 총 집합체
  • 하길
    Until Dawn
    하길
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (143)
      • Unreal Engine 5 (0)
      • Unity (31)
        • 3D (5)
        • 2D (7)
      • C++ (13)
      • C# (11)
      • 알고리즘 (35)
      • TIL (22)
      • 기타 (1)
      • 대장간 (12)
      • 메모 (2)
      • 게임리뷰 (0)
      • 일상 (0)
        • 챌린지 (0)
      • Article (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.1
하길
프로그래머스 핸드폰 가리기
상단으로

티스토리툴바