[TIL] 2022.11.18

rara_kim·2022년 11월 18일
0

TIL

목록 보기
12/25

오늘은

항해99 Chapter2 과정이 시작되었다.
오늘부터 프로그래밍 기초, 알고리즘 주차가 시작된다.
지난주부터 쉬운 문제지만(Level0) 매일 4-6문제씩 풀어왔었기 때문에 코딩테스트 문제는 처음이 아니지만 문제를 읽고 이해하고, 어떻게 코드로 구현해낼 수 있을까?는 계속 어려워했기 때문에 걷기반/달리기반 중에서 걷기반을 선택했다. 오늘 하루 문제를 풀어본 결과 걷기반을 선택해서 다행이다 싶었다.
아직 자료구조나 알고리즘 개념도 잡혀있지 않기 때문에 천천히 무리하지 않는 선에서 학습을 진행하고 싶다.

지금까지 프로그래머스 Level0문제는 여럿 풀어보았기 때문에 그와 같은 난이도문제는 무리없이 풀 수 있었다. 그러나, 중하로 난이도가 올라가니 확실히 문제이해나 코드작성이 확연하게 어려워지기 시작했다.
어려운 문제는 조원들끼리 서로의 풀이를 공유하기도 했는데, 같은 문제를 보고 각자가 다 다른 코드가 나왔다는게 신기했다. 그리고 개발이 이래서 재밌는 거구나 하고 생각했다.
각자의 다양한 생각을 코드로 녹여낼 수 있다는 게 참 매력적이라고 다시금 생각했다.
내일부터 풀게될 문제들은 난이도가 중상으로 더 높아지는데 얼마나 어려울지 걱정이되면서도 과연 어떤 풀이들이 나올까? 하는 기대감도 있다.

어차피 해쳐나가야할 길! 즐기면서 해보자!👍

각 변수의 타입에 신경쓸 것! 특히, int와 long!

GitHub: 알고리즘 문제풀이 코드


💡기억해두기

대소문자 관계없이 문자열 확인하기

  • equalsIgnoreCase() 함수 사용하기
String str1 = "apple";
String str2 = "apple";
String str3 = "APPLE";

System.out.println(str1 == str2);                  //true
System.out.println(str2 == str3);                  //false
System.out.println(str1.equalsIgnoreCase(str3));   //true
System.out.println(str2.equalsIgnoreCase(str3));   //true

문자열 자르기

  • substring() 함수 사용하기
  • substring(begin index): index부터 마지막 위치까지의 문자열을 리턴한다.
  • substring(begin index, end index): start index 부터 end index 이전까지 해당하는 문자열을 리턴한다.
String str = "Hello Java World!";
String s1 = str.substring(3);
System.out.println(s1);             //lo Java World!

String s2 = str.substring(6, 10);
System.out.println(s2);             //Java

특정 패턴의 문자열을 포함하는지 확인하기

  • matches() 함수 사용하기
String str1 = "Hello1234";
String str2 = "1234";
String str3 = "Hello";

//영문 대소문자를 포함하는지 확인
System.out.println(str1.matches(".*[a-zA-Z].*"));   //true
System.out.println(str2.matches(".*[a-zA-Z].*"));   //false
System.out.println(str3.matches(".*[a-zA-Z].*"));   //true

//숫자를 포함하는지 확인
System.out.println(str1.matches(".*[0-9].*"));      //true
System.out.println(str2.matches(".*[0-9].*"));      //true
System.out.println(str3.matches(".*[0-9].*"));      //false

절대값 구하기

  • Math.abs() 함수 사용하기
int num1 = 1;
int num2 = -1;
System.out.println(Math.abs(num1));   //1
System.out.println(Math.abs(num2));   //1

double num3 = 1.1;
double num4 = -1.1;
System.out.println(Math.abs(num3));   //1.1
System.out.println(Math.abs(num4));   //1.1

profile
느리더라도 꾸준하게

0개의 댓글