Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[오답노트] char -> int 시 래퍼클래스 메서드 vs 아스키코드 #1

Open
YubinShin opened this issue Dec 4, 2023 · 0 comments

Comments

@YubinShin
Copy link
Owner

https://github.com/YubinShin/algorithm/blob/054226700825389cb16c32abf49fc437655d37b8/%EB%B0%B1%EC%A4%80/Bronze/11720.%E2%80%85%EC%88%AB%EC%9E%90%EC%9D%98%E2%80%85%ED%95%A9/%EC%88%AB%EC%9E%90%EC%9D%98%E2%80%85%ED%95%A9.java#L17C23-L17C57

Character.getNumericValue(arr[i]); 메소드를 사용하여 char를 int로 변환하는 것과 아스키 코드를 직접 사용하여 변환하는 방법 사이의 성능 차이는 상황에 따라 다를 수 있습니다. 각 방법의 특징을 살펴보겠습니다.

  1. Character.getNumericValue(arr[i]); 사용:

이 메소드는 유니코드 문자를 그에 해당하는 숫자로 변환합니다. 예를 들어, '8'은 8로, 'A'는 10으로 변환됩니다.
유니코드 문자에 대한 광범위한 지원을 제공하므로, 숫자, 알파벳, 심지어 다른 언어의 문자 등 다양한 문자에 대해 사용할 수 있습니다.
하지만 이 추가적인 기능성 때문에 아스키 코드만을 사용하는 경우보다 약간 느릴 수 있습니다. 내부적으로 더 많은 조건 검사와 계산이 필요할 수 있기 때문입니다.

  1. 아스키 코드를 직접 사용:

예를 들어, arr[i] - '0' 같은 식으로 간단하게 아스키 코드 값을 이용하여 숫자로 변환할 수 있습니다.
이 방법은 숫자 문자('0'부터 '9'까지)에만 적용됩니다.
직접적인 연산이기 때문에 Character.getNumericValue 메소드보다 빠를 수 있습니다. 특히 반복적이고 대량의 문자 변환 작업이 필요한 경우에 성능 차이가 더 두드러질 수 있습니다.

결론적으로, 변환해야 할 문자가 숫자만 포함된 경우 아스키 코드를 직접 사용하는 것이 성능상 이점이 있을 수 있습니다. 하지만 다양한 유형의 문자를 처리해야 하는 경우 Character.getNumericValue 메소드가 더 유연한 해결책을 제공합니다. 성능 차이는 주로 사용하는 데이터의 양과 작업의 복잡도에 따라 달라질 것입니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant