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 | 29 | 30 | 31 |
Tags
- httppretty
- opensouce
- organizeImports
- conf
- 독후감
- Golang
- 조엘온소프트웨어
- flake8
- 코로나백신
- codewar
- springboot
- maxlinelength
- goalng
- pep8
- loadimpact
- 유닉스의탄생
- printer_helper
- pyenv
- 글쓰기가필요하지않은인생은없다
- python
- GlobalInterprintLock
- vscode
- codewars
- ProxyServer
- restfulapi
- typevar
- Lint
- 오큘러스퀘스트2
- 규칙없음
- Algorithm
Archives
- Today
- Total
일상적 이야기들.
codewar: Errors: histogram 본문
문제
- https://www.codewars.com/kata/errors-histogram/
문제 풀이
- 주어진 String에서 예외 문자의 개수를 count하는 문제입니다.
- given a string will output the errors as a string representing a histogram of the encountered errors.
- 그렇기에 문자를 순회하면서, Error의 개수를 Count하고, Format에 맞게끔 출력을 시켜주면 됩니다.
- 출력의 양식은 다음과 같습니다.
- "%-3c%-6d[*로 갯수 표현]\r"
- %-3c를 통해서, 에러의 문자를 포함하여 2개의 공백을 유지합니다.
- %-6d를 통해서, 에러의 갯수와 함께 고정된 공백을 유지합니다. ( 숫자가 1자리라면 공백 5, 2자리라면 공백 4 )
- 그리고, 나머지는 * 로 채워주게 됩니다.
- 위의 방법이 아니라, 저는 For문으로 Format 양식을 맞춰두었습니다.
class Hist {
public static String hist(String s) {
String result = "";
int hitsArray[] = {0, 0, 0, 0};
for(char c : s.toCharArray()) {
switch(c) {
case 'u':
hitsArray[0]++; break;
case 'w':
hitsArray[1]++; break;
case 'x':
hitsArray[2]++; break;
case 'z':
hitsArray[3]++; break;
default:
break;
}
}
for(int i=0; i<4; i++)
{
String rowInfo = "";
if( 0 == hitsArray[i]) {
continue;
}
switch(i) {
case 0:
rowInfo += "u "; break;
case 1:
rowInfo += "w "; break;
case 2:
rowInfo += "x "; break;
case 3:
rowInfo += "z "; break;
default:
break;
}
rowInfo = rowInfo + Integer.toString(hitsArray[i]);
for(int j=0; j<6-(Integer.toString(hitsArray[i]).length()); j++)
{
rowInfo += " ";
}
for(int j=0; j<hitsArray[i]; j++)
{
rowInfo += "*";
}
rowInfo += "\r";
result += rowInfo;
}
if ("" != result)
{
result = result.substring(0, result.length()-1);
}
return result;
}
}
'프로그래밍 > 알고리즘 문제풀이' 카테고리의 다른 글
codewar: Fun with lists:indexOf (0) | 2019.06.25 |
---|---|
codewar: int32 to IPv4 (0) | 2019.06.21 |
codewar: Scalling Squared Strings. (0) | 2019.06.18 |
codewar: RemoveString Spaces (0) | 2019.06.18 |
codewar: Alphabet war (0) | 2019.06.12 |
Comments