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
- flake8
- conf
- vscode
- Algorithm
- 글쓰기가필요하지않은인생은없다
- restfulapi
- maxlinelength
- pep8
- loadimpact
- codewars
- 독후감
- opensouce
- 오큘러스퀘스트2
- organizeImports
- codewar
- 유닉스의탄생
- python
- goalng
- GlobalInterprintLock
- printer_helper
- 규칙없음
- ProxyServer
- springboot
- pyenv
- 조엘온소프트웨어
- httppretty
- typevar
- 코로나백신
- Golang
- Lint
Archives
- Today
- Total
일상적 이야기들.
codewar: Scalling Squared Strings. 본문
문제
- https://www.codewars.com/kata/56ed20a2c4e5d69155000301
문제풀이
- 문자열 strng는 "\n" 로 구분이 됩니다.
- 한 단어를 반복해야하는 k와, \n 단위로 반복해야하는 v가 입력됩니다.
-> strng : "abc\nbcd", k: 2, v: 2
-> abc 와 bcd 로 분리
-> k에 따라, aabbcc (각 문자를 k번 반복합니다.)
-> v에 따라, aabbcc\naabbcc (\n 단위로 반복합니다.)
- 위의 알고리즘에 따라, strng 을 \n 단위로 일단 분리를 합니다. ( strng.split("\n")
- 그리고, 새로운 단어들을 위한 Array를 선언합니다. ( 하나의 결과가 끝날때마다, \n로 붙혀줘야하는데 편리하게 하기 위함 )
- 그 이후, 단어를 하나씩 돌아가면서 k번만큼 반복하여 새로운 단어를 생성합니다. ( for(int j=0 ~~ )
- 생성된 새로운 단어를 v번만큼 생성하여 결과에 저장합니다.
- 모든 loop이 끝이 났다면, "\n"을 덧붙혀서 원하는 하나의 String 으로 만들어 return 시킵니다.
- "" 가 입력되었을 시에는, 결과가 무조건 "" 이므로, 처음에 처리를 해줍니다.
public class Scale {
public static String scale(String strng, int k, int v) {
if( "" == strng )
return "";
String[] split_words = strng.split("\n");
int result_word_size = split_words.length * v;
String[] result_word_list = new String[result_word_size];
int array_idx = 0;
for(String word : split_words)
{
String change_word = "";
for(int i=0; i<word.length(); ++i)
{
for(int j=0; j<k; ++j)
{
change_word += word.charAt(i);
}
}
for(int i=0; i<v; ++i)
{
result_word_list[array_idx++] = change_word;
}
}
String result = String.join("\n", result_word_list);
return result;
}
}
'프로그래밍 > 알고리즘 문제풀이' 카테고리의 다른 글
codewar: int32 to IPv4 (0) | 2019.06.21 |
---|---|
codewar: Errors: histogram (0) | 2019.06.21 |
codewar: RemoveString Spaces (0) | 2019.06.18 |
codewar: Alphabet war (0) | 2019.06.12 |
codewar: Find the missing letter (0) | 2019.06.12 |
Comments