10진수 -> N진수

Integer.toString(10진수, N); 을 사용해 변환 가능하다.

 

N진수 -> 10진수

Integer.parseInt(N진수, N); 을 사용해 변환 가능하다.

아래는 LocalDate 클래스를 이용한 풀이.

아래는 미경님의 풀이. 진짜 어떻게 이런걸 생각하셨을까 ... !!

 


 

 


 

 

주어진 시간 안에 풀 엄두도 못냈던 3번. 아래는 소영님의 풀이 !! 진짜 우리 사전스터디 조원님들 너무 잘하신다 ㅠㅠ 

 

String과 StringBuilder의 구분

 

String 클래스와 StringBuilder는 용도가 다르다.

 

String StringBuilder
문자를 이용해서 활용을 해야 할 때 사용하는 클래스.
문자를 변경, 검색, 반복, 대소문자 변환, 비교, 분리
"문자 특성"을 이용하기 위해 사용하는 클래스
문자열을 배열처럼 관리
추가, 삭제, 삽입, 뒤집기 등을 용이하게 하기 위해 사용
"배열 index"를 이용하여 문자를 관리하는 클래스
문자 특성을 이용한 작업을 처리할 때 변경이 빈번한 문자들을 배열처럼 관리하고 싶을 때
 String 클래스는 함수를 사용하면 반환 값을 사용해야 하므로 대입 연산자를 이용해야 한다.
ex) str = str.trim();
StringBuilder는 내부적으로 추가, 삭제, 삽입, 변경을 처리하기 때문에 반환 값을 사용할 필요가 없다.
ex) sb.append(var);

 

 

자주 사용하는 String과 StringBuilder의 공통 함수

 

  • length() : 문자열의 총길이를 반환한다.
  • charAt(index) : index 위치에 해당하는 문자를 반환한다.
  • indexOf(String) : 문자열이 위치하는 index를 반환한다. (String에서는 char도 가능하다.)
  • substring(from, to) : from부터 to까지 해당되는 문자열을 반환한다. (to index는 포함하지 않는다.)

 

자주 사용하는 String 클래스 함수

 

비교

  • compareTo(String) : String과 비교 후 String보다 문자가 작다면 1, 크다면 -1, 같다면 0을 반환한다.
  • compareToIgnoreCase(String) : 대소문자 차이를 무시하고 비교한다.
  • equals(Object) : Object와 비교 후 같다면 true, 다르면 false를 반환한다. String 클래스는 문자열을 비교한다.

 

검색

 

  • contains(CharSequence) : CharSequence가 포함되어있는지 확인한 후 포함하면 true, 포함하지 않으면 false를 반환한다.
  • startWith(String) : String으로 시작하면 true, 아니면 false를 반환한다.
  • endWith(String) : String으로 끝나면 true, 아니면 false를 반환한다.

 

 

변환

 

  • concat(String) : String과 합친 후 합친 문자열을 반환한다.
  • repeat(int count) : count만큼 반복 후 반환한다.
  • replace(char or CharSequence, char or CharSequence) : char, CahrSequence 둘 다 가능하며 앞 인자를 뒷 인자로 변경한다.
  • toLowerCase() : 소문자로 변환 후 반환한다.
  • toUpperCase() : 대문자로 변환 후 반환한다.
  • trim() : 문자열의 양쪽 공백을 제거 후 반환한다.
  • toCharArray() : char 배열 자료형으로 반환한다.

 

 

분리, 결합

  • split(String regex) : regex를 기준으로 자른 후 String []로 반환한다.
  • String.join("str" ,String[]) : str을 사이에 넣어주며 String [] 배열을 합친다.

 

* CharSequence => String, StringBuilder, StringBuffer 등

 

자주 사용하는 StringBuilder 클래스 함수

 

추가

  • append() : StringBuilder에 추가한다.

 

삭제

  • delete(from, to) : from부터 to까지 해당되는 index들을 제거한다. (to는 제외)
  • deleteCharAt(index) : index에 해당하는 문자 하나를 제거한다.

 

삽입

  • insert(index, Object) : index위치에 Object를 추가한다.

 

변경

  • replace(from, to, String) : from, to 부분을 String으로 변경한다. (to는 제외)
  • setLength(len) : len만큼 길이를 변경한다. (len을 0으로 설정하면 내부가 비워지는 효과를 볼 수 있다.)
  • setChar(index, char) : 해당 index를 char로 변경한다.
  • reverse() : 문자열을 뒤집는다.

 

주의: StringBuilder는 equals()가 주소 비교를 한다.  toString()을 해야 한다.

 

 

 

 

출처 : https://komas.tistory.com/

'Coding > Java' 카테고리의 다른 글

[13] JAVA String 클래스 메소드 정리  (0) 2022.11.23
[12] JAVA 예외처리  (0) 2022.11.23
[10] JAVA - 필드(Field)  (0) 2022.11.22
[09] Java 클래스 - 객체 지향 프로그래밍  (2) 2022.11.22
[08] Java 열거 타입  (0) 2022.11.12

필드(Field) ?

객체 고유 데이터, 객체가 가져야 할 부품, 객체의 혀재 상태 데이터를 저장하는 곳.

 

① 필드 선언 

  • 필드 선언은 클래스 중괄호 {} 어디서든 존재할 수 있다.
  • 생성자 선언과 메소드 앞 뒤 어떤 곳에서도 필드 선언이 가능하지만, 생성자와 메소드 {} 중괄호 블록 내부에서는 선언될 수 없다.
  • 생성자와 메소드 중괄호 내부에 선언된 것은 모두 로컬 변수이다.
  • 필드에서 선언된 변수는 로컬변수와는 다르게 값을 할당하지 않아도 자동으로 초기값을 갖는다.

https://m.blog.naver.com/heartflow89/220956313502

 

② 필드 사용

  • 필드를 사용한다는 것 = 필드값을 읽고 변경하는 작업
  • 클래스 내부의 생성자와 메소드에서 바로 사용이 가능하지만 클래스 외부에서 사용할 경우에는 반드시 객체를 생성하고 참조변수를 통해 사용해야 한다.
  • 변수는 자신이 선언된 생성자 또는 메소드 블록 내부에서만 사용할 수 있는 반면 필드는 생성자와 모든 메소드에서 사용 가능하다는 차이점이 있다.

'Coding > Java' 카테고리의 다른 글

[12] JAVA 예외처리  (0) 2022.11.23
[11] JAVA String, StringBuilder 클래스  (0) 2022.11.22
[09] Java 클래스 - 객체 지향 프로그래밍  (2) 2022.11.22
[08] Java 열거 타입  (0) 2022.11.12
[07] Java 배열  (0) 2022.11.11

[오늘의 회고]

 

 

 

1. 어려웠던 부분 : 지난주 금요일부터 주말까지 풀었던 28개의 알고리즘 문제를 다시 한번 복습하는 시간을 가졌다. 28개 중 세문제 정도 풀지 못했고, 다섯문제 정도 어려웠는데 작성한 코드를 리뷰하고 다른 사람의 코드도 보면서 아직 공부하지 않은 Arraylist, hashmap, stream 등의 개념을 훑어 봤다. 훑어만 봐서 그런지 너무 어려워서 그냥 넘겼는데, 저녁에 기술매니저님이 Arraylist와 String은 꼭 이번주에 공부를 하고 넘어가라고 하셔서 내일 다시 공부해야 할 것 같다.

 

2. 느낀 점 : 복습을 하는게 얼마나 중요한지, 그리고 클래스와 메소드 개념을 이해하는게 얼마나 중요한지 생각해보는 하루였다. 그리고 오늘 컨디션이 너무 안좋았는데, 체력관리도 정말 잘 해야 될 것 같다.

 

3. 새로 알게 된 내용 :

하루에 블로그에 최대 올릴 수 있는 공개글 수는 15개 이다.

알고리즘 풀이를 한번에 정리하겠다고 30개의 게시글을 올렸는데 그 중 15개는 비공개로 올려야 했다.

알고리즘을 복습하면서 내가 처음 사용한 함수, 남이 사용한 함수 등을 복습할 수 있었다. 그 중 기억에 남는건

문자열 뒤집기나 오름차순 내림차순을 할때, String 이 아니라 StringBuilder 를 사용하면 .reverse() 등과 같은 메소드로 훨씬 더 쉽고 간결하게 알고리즘을 풀 수 있다는 점이다.  

 

4. 셀프칭찬  :

  • 몸이 안좋은데 오늘도 열심히 최선을 다했다.
  • 낮에는 정말 누워만 있고 싶었는데 잘 참았다.

 

5. 내일 할 일 : chap06-2 공부, 알고리즘 챌린지 도전! , 알고리즘 모의고사, 해설영상 촬영 및 업로드, Arraylist 알아보기

 


[오늘 공부한 부분]

 

  • 알고리즘 카테고리에 풀이 정리함.
  • 자바 클래스

https://leejincha.tistory.com/136

 

[09] Java 클래스 - 객체 지향 프로그래밍

[오늘 공부한 부분] 1. Java 클래스 - 객체 지향 프로그래밍 키워드 정리 클래스 : 객체를 만들기 위한 설계도 객체 : 클래스로부터 생성되면 'new 클래스()'로 생성 new 연산자 : 객체 생성 연산자. 생

leejincha.tistory.com

 

+ Recent posts