Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 백준 2870번
- 코딩테스트
- 프로그래머스
- 2468 c++
- 백준 c++ 2870번
- c++
- 유니티
- Algorithm
- 백준 1103번
- 백준 1103번 게임
- 2870번 수학숙제
- 백준 17070번 c++
- 플레이어 이동
- 17070번
- 2870번 수학숙제 c++
- 수학숙제
- 코테
- 2870번 c++
- 2870번
- C#
- 백준
- Lv2
- dfs
- Beakjoon
- Lv.3
- 백준 c++ 2468번
- 백준 1103번 c++
- 백준 17070번
- 오브젝트 풀링
- Unity
Archives
- Today
- Total
주녘공부일지
[프로그래머스 C#] Lv.2 JadenCase 문자열 만들기 본문
https://school.programmers.co.kr/learn/courses/30/lessons/12951
1. 정답코드 및 핵심 아이디어, 유의사항
모든 문자를 소문자로 만든 뒤 공백을 만난 후 첫번째 문자가 숫자 아닐 경우(소문자일 경우) 대문자로 변환
+ 주어진 조건에 따라서 변환이 자주 일어날 수도 있을 것 같아 StringBuilder를 사용
주석참조
using System;
using System.Text;
public class Solution
{
public string solution(string s)
{
s = s.ToLower(); // 모두 소문자로 변환 -> 공백, 숫자, 소문자만 존재
var sb = new StringBuilder(s);
bool isCheck = true; // 공백을 만났었는지 유무
int num = 'A' - 'a'; // 아스키 코드 기준 대문자 변환을 위한 수치
for (int i = 0; i < sb.Length; i++)
{
if (sb[i] == ' ') // 공백
isCheck = true;
else if ('0' <= sb[i] && sb[i] <= '9') // 숫자
isCheck = false;
else if (isCheck) // 공백을 만난 후 첫 문자 (소문자)
{
sb[i] += (Char)num; // 대문자로 변환
isCheck = false;
}
}
return sb.ToString();
}
}
'CodingTest > Programmers Lv.2' 카테고리의 다른 글
[프로그래머스 C#] Lv.2 최댓값과 최솟값 (1) | 2023.12.05 |
---|---|
[프로그래머스 C#] Lv.2 다음 큰 숫자 (1) | 2023.12.05 |
[프로그래머스 C#] Lv.2 N개의 최소공배수 (2) | 2023.12.05 |
[프로그래머스 C#] Lv.2 영어 끝말잇기 (0) | 2023.12.04 |
[프로그래머스 C#] Lv.2 올바른 괄호 (0) | 2023.12.04 |