프로그래밍 언어 5

코테에서 잘 쓰이는 내장함수

String substring: 인덱스에 해당하는 부분 문자열 startsWith, endsWith: 문자열이 특정 문자열로 시작하는지/끝나는지 검사 replaceAll: 정규표현식에 해당하는 문자를 바꿈 split: 정규표현식에 해당하는 문자로 문자열을 나눔 toUpperCase, toLowerCase: 문자열을 대/소문자로 변경 trim: 문자열 앞뒤 공백 제거 matches: 정규표현식과 일치할 때 true 반환 concat: 문자 결합 format: 특정 서식으로 변환된 문자열을 반환 String str = "ABcdef ghi "; System.out.println(str.substring(2, 5)); // 인덱스 2~4, "cde" System.out.println(str.startsWith..

JAVA 정규식

https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 위 문제를 통해 자바 정규식을 정리해보겠습니다. new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. 위 문제의 2단계입니다. 정규식을 통해 문자열을 바꿀 수 있는 replaceAll()을 이용하여 보겠습니다. new_id = new_id.replaceAll("[^a-z0-9-_.]", ""); [..

빠른 입출력

sysout과 Scanner sysout(= System.out.println() ) 같은 경우 출력하고 싶은 내용을 한 번에 모아두었다가 출력하면 큰 문제가 없지만 반복문 안에 넣어서 계속 부르게 된다면 큰 시간이 걸리게 된다. Scanner 같은 경우는 입력받은 내용을 정규식에 맞는지 많은 검사를 하기 때문에 시간이 오래 걸리게 된다. 빠른 입력: BufferedReader BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = br.readLine(); //String int i = Integer.parseInt(br.readLine()); //Int int j = br.read(); //Int 하나 b..

getline 사용법

cin.getline char a[100]; cin.getline(a,10); cin.getline(a,10,','); char 배열에 9글자까지 문자를 입력하게 된다.(마지막에 널문자가 들어가므로) 두 번째 문장은 엔터가 들어오기 전까지 저장하고 세 번째 문장은 i가 들어오기 전까지 저장하게 된다. getline string a; getline(cin, a); getline(cin, a, ','); #include 필요, getline의 경우 처음에 입력스트림 오브젝트가 오게 된다. 주의할 점 두개의 함수 모두 엔터를 무시하지 않고 그전까지 저장한 후 엔터를 버퍼에서 버린다. 그런데 cin은 엔터를 무시하고 진행하지만 버퍼에서 버리지는 않는다. 그래서 getline을 쓸때 cin이 버퍼에 엔터를 남기지..

cin의 리턴 값

cin의 리턴 값은 istream이지만 if나 while의 조건문 안에서는 operator에 의해 bool형으로 바뀐다. bool형으로 바뀌었을 때는 cin의 성공 여부가 리턴 값이 된다. int a; if(cin>>a){ } 이런 형태의 경우 cin에서 정수값이 a에 들어왔는지 확인 후 아니면 if문이 작동하지 않는다. 일반적인 경우 bool형태로 저장하려면 두가지 방법이 있다. bool b = static_cast(cin >> value); bool b(cin>>value); Reference skku.goorm.io/qna/4241