-
5. 서울에서 김서방 찾기코딩 테스트/Level 1 2019. 10. 3. 22:37반응형
https://programmers.co.kr/learn/courses/30/lessons/12919
파이썬
def solution(seoul): for index, each in enumerate(seoul): if each == 'Kim': return f'김서방은 {index}에 있다'
이렇게 하나 하나 찾아봐도 되겠지만,
파이썬에서는 내장함수를 이용하는 것이 더 빠른 경우가 많다.
내장함수는 C언어로 작성된 경우가 많아서...def solution(seoul): return f"김서방은 {seoul.index('Kim')}에 있다"
자바스크립트
function solution(seoul) { return `김서방은 ${seoul.indexOf('Kim')}에 있다`; }
자바
고전적인 스타일도 하나 있어야...
class Solution { public String solution(String[] seoul) { String ans = ""; for (int i = 0; i < seoul.length; i++) { if (seoul[i].equals("Kim")) { ans = String.valueOf(i); break; } } return "김서방은 " + ans + "에 있다"; } }
자바로도 한 줄 코딩이 가능합니다. 배열을 리스트로 변환 후 indexOf 메소드를 사용했습니다.
리스트 변환에 대해 더 알고 싶은 분은 다음 링크를 참고 : http://iloveulhj.github.io/posts/java/java-Arrays.asList.html
class Solution { public String solution(String[] seoul) { return "김서방은 " + Arrays.asList(seoul).indexOf("Kim") + "에 있다"; } }
고
고의 for range 도 깔끔하죠?
(파이썬을 닮았습니다. 하지만 파이썬은 이런 경우 range를 안 쓰고 enumerate를 쓰는데.... -0-)
import "strconv" func solution(seoul []string) string { for i, s := range seoul { if s == "Kim" { return "김서방은 " + strconv.Itoa(i) + "에 있다" } } return "" }
import "fmt" func solution(seoul []string) string { for i, v := range seoul { if v == "Kim" { return fmt.Sprintf("김서방은 %d에 있다", i) } } return "" }
코틀린
class Solution { fun solution(seoul: Array<String>): String { for ((index, name) in seoul.withIndex()) { if (name == "Kim") { return "김서방은 " + index + "에 있다" } } return "" } }
class Solution { fun solution(seoul: Array<String>) = "김서방은 " + seoul.indexOf("Kim") + "에 있다" }
class Solution { fun solution(seoul: Array<String>) = "김서방은 ${seoul.indexOf("Kim")}에 있다" }
C#
using System; public class Solution { public string solution(string[] seoul) => $"김서방은 {Array.IndexOf(seoul, "Kim")}에 있다"; }
public class Solution { public string solution(string[] seoul) { int i = 0; for (; i < seoul.Length; i++) { if (seoul[i] == "Kim") { break; } } return $"김서방은 {i}에 있다"; } }
public class Solution { public string solution(string[] seoul) { for (int i = 0; i < seoul.Length; i++) { if (seoul[i] == "Kim") { return $"김서방은 {i}에 있다"; } } return ""; } }
DART
String solution(List<String> seoul) { return '김서방은 ${seoul.indexOf('Kim')}에 있다'; }
RUST
fn main() { println!("{}", solution(vec!["Jane", "Kim"])); } fn solution(seoul: Vec<&str>) -> String { for (i, each) in seoul.iter().enumerate() { if each == &"Kim" { return format!("김서방은 {}에 있다", i); } } return "".to_owned(); }
반응형