728x90
반응형
728x90
반응형
짝수번째 숫자만 치환 문제: 모든 짝수번째 숫자를 * 로 치환하시오.(홀수번째 숫자,또는 짝수번째 문자를 치환하면 안됩니다.) Example: a1b2cde3~g45hi6 → a*b*cde*~g4*hi6 순서: 일반 String연산이 아니라 StringBuilder를 사용하여 메모리 할당을 최소화 for문에서 charAt으로 문자를 하나씩 가져와서 두번째 문자 그리고 그 문자가 숫자일 경우 *을 대신 삽입 아닐 경우 본래의 문자열 삽입 출력문: a*b*cde*~g4*hi6 public class EvenNChange { public static void main(String[] args) { StringBuilder result = new StringBuilder(); String ex = "a1b2cd..
다음 입사문제 - 두 점의 차이가 제일 적은 두개의 점 출력 문제: 1차원의 점들이 주어졌을 때, 그 중 가장 거리가 짧은 것의 쌍을 출력하는 함수를 작성하시오. (단 점들의 배열은 모두 정렬되어있다고 가정한다.) 예를들어 S={1, 3, 4, 8, 13, 17, 20} 이 주어졌다면, 결과값은 (3, 4)가 될 것이다. 순서: 최초의 배열 뺀 값을 변수(prevtmp)에 저장하고 새로운 값(tmp)을 받아서 계속 연산하여 prevtmp랑 비교 만약 새 값(tmp)이 저장변수(prevtmp)보다 작다면 값을 대입하여 result 값에 저장 만약 더 작은값이 있다면 prevtmp값에 값을 새로 저장함으로써 그 작은값으로 연산을 함 연산 값이 prevtmp 보다 크다면 연산을 하지 않으므로(else가 없음)..
1부터 10,000까지 8이라는 숫자가 총 몇번 나오는지 카운트 8이 포함되어 있는 숫자의 갯수를 카운팅 하는 것이 아니라 8이라는 숫자를 모두 카운팅 해야 한다. (※ 예를들어 8808은 3, 8888은 4로 카운팅 해야 함) 총 2가지 방법으로 문제 해결 package CodingTestLv2; public class Number8Counting { //1부터 10,000까지 8이라는 숫자가 총 몇번 나오는가? //8이 포함되어 있는 숫자의 갯수를 카운팅 하는 것이 아니라 8이라는 숫자를 모두 카운팅 해야 한다. //(※ 예를들어 8808은 3, 8888은 4로 카운팅 해야 함) public static void main(String[] args) { counting('8'); for(int i = ..
겹치는 숫자 제거 문제 0-9부터 입력 시 겹치는 숫자가 있으면 false, 없으면 true 반환 일단 string 배열을 scanner로 입력받아서 .split("")으로 개별로 분할한다 받은 문자열을 Arrays.sort()를 사용하여 오름차순으로 정렬 오름차순으로 정렬된 문자열(숫자)를 1번째와 2번째를 비교하여 만약 같다면 겹치는 문자열이 있다는 뜻 따라서 겹치는 문자가 있다면 false를 출력 후 시스템을 종료 겹치는 문자가 없다면 반복문을 탈출하여 true 출력 package CodingTestLv1; import java.util.Arrays; import java.util.Scanner; public class Z_TestforRename2 { public static void main(S..
피보나치 수열 package CodingTestLv1; public class Fibonachi { public static void main(String[] args) { //예) 0, 1, 1, 2, 3, 5, 8, 13 21 34 55 //피보나치 수열이란, 첫 번째 항의 값이 0이고 두 번째 항의 값이 1일 때 //이후의 항들은 이전의 두 항을 더한 값으로 이루어지는 수열을 말한다. int count = 10; for(int i = 0; i