반응형
91. 할 일 목록
문제 설명
- 오늘 해야 할 일이 담긴 문자열 배열 todo_list와 각각의 일을 지금 마쳤는지를 나타내는 boolean 배열 finished가 매개변수로 주어질 때, todo_list에서 아직 마치지 못한 일들을 순서대로 담은 문자열 배열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ todo_list의 길이 1 ≤ 100
- 2 ≤ todo_list의 원소의 길이 ≤ 20
- todo_list의 원소는 영소문자로만 이루어져 있습니다.
- todo_list의 원소는 모두 서로 다릅니다.
- finished[i]는 true 또는 false이고 true는 todo_list[i]를 마쳤음을, false는 아직 마치지 못했음을 나타냅니다.
- 아직 마치지 못한 일이 적어도 하나 있습니다.
입출력 예시
- 예제 1번의 todo_list 중에서 "problemsolving"과 "swim"은 마쳤고, "practiceguitar"와 "studygraph"는 아직 마치지 못했으므로 todo_list에서 나온 순서대로 담은 문자열 배열 ["practiceguitar", "studygraph"]를 return 합니다.
풀이
using System;
using System.Collections.Generic;
public class Solution {
public string[] solution(string[] todo_list, bool[] finished) {
// 하지 못한 일을 저장할 List 선언
List<string> result = new List<string>();
//for 반복문을 이용 모든 할일을 체크하기 위해 길이 설정
for(int i = 0; i < todo_list.Length; i++){
if(!finished[i]){ // false일 때만 result 리스트에 추가
result.Add(todo_list[i]);
}
}
// 리스트를 배열로 변환 후 반환
return result.ToArray();
}
}
92. 제곱수 판별하기
문제 설명
- 어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ n ≤ 1,000,000
입출력 예시
- 144는 12의 제곱이므로 제곱수입니다. 따라서 1을 return합니다.
- 976은 제곱수가 아닙니다. 따라서 2를 return합니다.
풀이
using System;
public class Solution {
public int solution(int n) {
double result = Math.Sqrt((double)n);
// Math.Sqrt는 해당 값의 제곱근을 구한다. e.g. n = 144 -> result = 12.0 단, 실수형.
if((int)result == result) return 1;
//result를 정수형으로 바꾼 값이 제곱근의 값과 동일하다면 n은 제곱수이다.
else return 2;
}
}
93. 접미사인지 확인하기
문제 설명
- 어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.
- 문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_string의 접미사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 100
- 1 ≤ is_suffix의 길이 ≤ 100
- my_string과 is_suffix는 영소문자로만 이루어져 있습니다.
입출력 예시
- 예제 1번에서 is_suffix가 my_string의 접미사이기 때문에 1을 return 합니다.
- 예제 2번에서 is_suffix가 my_string의 접미사가 아니기 때문에 0을 return 합니다.
- 예제 3번에서 is_suffix가 my_string의 접미사가 아니기 때문에 0을 return 합니다.
- 예제 4번에서 is_suffix가 my_string의 접미사가 아니기 때문에 0을 return 합니다.
풀이
using System;
public class Solution {
public int solution(string my_string, string is_suffix) {
// my_stirng 안에 is_suffix가 포함되어 있을 때
if(my_string.Contains(is_suffix)){
// is_suffix의 마지막 요소가 my_string의 마지막 요소와 같다면 접미사이다.
if(is_suffix[is_suffix.Length-1] == my_string[my_string.Length-1]) return 1;
else return 0;
} else return 0;
}
}
- 정답률 높은 순부터 풀이
- 매일 3문항 풀이
반응형
'프로그래머스 C# 코딩테스트' 카테고리의 다른 글
C# 프로그래머스 #32 - 배열의 원소 삭제하기, 뒤에서 5등까지, 0 떼기 (71) | 2023.09.22 |
---|---|
C# 프로그래머스 #31 - 더 크게 합치기, 홀수 vs 짝수, 세균 증식 (71) | 2023.09.20 |
C# 프로그래머스 #29 - A 강조하기, 꼬리 문자열, 홀짝에 따라 다른 값 반환하기 (62) | 2023.09.11 |
C# 프로그래머스 #28 - l로 만들기, 배열 비교하기, 순서 바꾸기 (61) | 2023.09.09 |
C# 프로그래머스 #27 - 소문자로 바꾸기, 5명씩, 배열에서 문자열 대소문자 변환하기 (57) | 2023.09.07 |