본문 바로가기
반응형

분류 전체보기117

로봇 청소기 문제 : https://www.acmicpc.net/problem/14503 1. 개요 n x m 바닥에서 순회를 하는 문제입니다. 2. 고난과 역경 모든 문제 해결은 문제를 꼼꼼히 읽는 것에서 시작합니다. 문제를 잘못 이해한 죄로 한참을 헤맨 끝에 후진을 과소평가했다는 것을 깨닫게 되었습니다. 문제의 조건에 따르면 이 청소기는 '청소를 한 곳' 과 '벽' 을 구분할 수 있고, 사방에 청소할 곳이 없더라도 뒤가 벽으로 막힌 것이 아니라면 계속 후진하여 탈출이 가능합니다. 3. 코드 import java.util.*; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.next.. 2021. 10. 31.
방 번호 문제 import java.util.*; class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); int n = 0; int[] numSet = new int[11]; Arrays.fill(numSet, 1); /* 목표 숫자의 범위를 지정 */ if(num == 1000000) n = 1000000; else if(num >= 100000) n = 100000; else if(num >= 10000) n = 10000; else if(num >= 1000) n = 1000; else if(num >= 100) n = 100; else if(num >= 10) n.. 2021. 10. 30.
Eclipse와 github 연동하기 - 새 프로젝트 1. github에서 새로운 repository 를 생성합니다. 그리고 화면에서 주소를 복사해둡니다. 2. eclipse에서 프로젝트를 생성합니다. 3. Windows > Show View > Other 에서 Git repositories 창을 열어줍니다. 좌측 하단에 창이 하나 생성된 것을 확인할 수 있습니다. 4. 연결할 프로젝트에서 마우스 우클릭 > Team > Share Project 를 클릭합니다. create를 눌러 repository가 저장될 경로를 설정해줍니다. 5. git repositories 창에 새로운 repository가 추가된 것을 확인할 수 있습니다. 6. 새 프로젝트에서 작업을 마친 뒤, 다시 Team 메뉴에 들어가보면 여러가지 메뉴들이 생겨난 것을 확인할 수 있습니다. Co.. 2021. 10. 28.
Java NumberFormatException 에 대처하는 우리들의 자세 NumberFormatException(이하, NFE)은 숫자가 아닌 것을 숫자로 바꾸려고 하는 경우를 말합니다. 주로 문자열을 Integer.parseInt()를 이용해 int형으로 바꿀 때 발생합니다. 사례 1. Data type 의 범위를 넘어서는 경우 int 타입은 –2,147,483,648 ~ 2,147,483,647 까지의 숫자를 표현할 수 있습니다. 만약 String s = "12,147,483,648"를 int로 바꾸려고 한다면 int형의 범위를 넘어서게 되므로 NFE가 발생합니다. 해결방법 long 을 씁니다. long의 범위는 –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 입니다. 만약 long보다 긴 경우는? BigInteger 클래.. 2021. 10. 27.
Java 에서 swap 하는 방법 함수는 입력받은 값을 가공하여 반환해줍니다. (반환을 하지 않을 수도 있음 ft. void) 함수가 내부에서 사용하는 변수는 지역변수 local variable 이기 때문에 그 값을 변경하더라도 함수가 종료되면서 함께 소멸됩니다. 함수호출시 값을 함수에게 전달하는 방법은 두 가지가 있습니다. Call by value는 값 자체 또는 변수에 담긴 값을 복사하여 매개변수로 전달합니다. Call by reference는 값이 저장된 메모리 공간의 주소를 전달하여, 함수가 그 공간을 참조할 수 있게 해 줍니다. Java에는 포인터가 없고, 기본적으로 call by value 이기 때문에 c언어에서는 간단히 만들 수 있는 swap을 구현하려면 짱구를 좀 굴려야 합니다. 1. 배열 이용하기 Integer[] arr.. 2021. 10. 27.
Java 정규표현식 - 2. 문자열에서 숫자 등 추출하기 String s = "a1b2c3d4e5f6"; String[] a = new String[3]; a[0] = s.replaceAll("[0-9]",""); // 모든 숫자를 "" 로 변경 후 문자열을 반환 a[1] = s.replaceFirst("[0-9]",""); // 처음 나오는 숫자를 ""로 변경 후 문자열을 반환 a[2] = Boolean.toString(s.matches("[a-z]")); // 문자만 존재할 때 true 반환 String[] ar = s.split("[0-9]"); // 숫자를 구분자로 문자열을 분리하여 String[]로 반환 for(String ss : a) { System.out.println(ss); } for(String sss : ar) { System.out.pr.. 2021. 10. 25.
반응형