728x90
반응형
728x90
반응형
주어진 boolean 배열을 이용해서 적절하게 + - 를 변경하여 합산한다. package programmers; public class SumPlusMinus { public static void main(String[] args) { Solution11 s = new Solution11(); int[] absolutes = {4,7,12}; boolean[] signs = {true, false ,true}; s.solution(absolutes, signs); } } class Solution11 { public int solution(int[] absolutes, boolean[] signs) { int sum = 0; for(int i = 0; i
주어진 조건을 반복문으로 해결한다. package programmers; public class Dot_Product { public static void main(String[] args) { Solution10 s = new Solution10(); int[] a = {1,2,3,4}; int[] b = {-3,-1,0,2}; s.solution(a, b); } } class Solution10 { public int solution(int[] a, int[] b) { int sum = 0; for(int i = 0; i
없는 숫자 더하기라고 해서 꼭 없는 숫자를 골라서 합계를 찾는 것이 아니었다. 주어진 숫자의 최대값은 고정값이므로 0-9까지의 합계를 구한 후 주어진 값의 합계의 차를 구하면 정답! package programmers; public class unknownNumberSum { public static void main(String[] args) { Solution9 s = new Solution9(); int[] numbers = {1,2,3,4,6,7,8,0}; //14 //int[] numbers = {5,8,4,0,6,7,9}; //6 s.solution(numbers); } } class Solution9 { public int solution(int[] numbers) { int sum = 0;..
오늘은 시작이 좋다. 다행히 문제가 조금 쉬운 감이 없지 않아 있는 듯 하다. 주어진 문자열 list를 만들고 그 문자열이 포함되어 있으면 replaceAll로 반복문을 돌려 숫자열로 맞춘다. 정답 코드 package programmers; public class Nums_Spelling { public static void main(String[] args) { Solution5 s1 = new Solution5(); String s = "one4seveneight"; //String s = "123"; s1.solution(s); //1478 //0zero //1one //2two //3three //4four //5five //6six //7seven //8eight //9nine } } class..
로또의 최고 순위와 최저 순위를 구하는 알고리즘. 겹치는 숫자가 이미 맞춰진 숫자이므로 겹치는 숫자의 개수가 최저 순위가 되고 겹치는 숫자와 0의 숫자를 더한 개수가 최고의 순위가 된다. 코드는 아래와 같다. package programmers; public class lottery { public static void main(String[] args) { Solution3 s = new Solution3(); int[] lottos = {44, 1, 0, 0, 31, 25}; int[] win_nums = {31, 10, 45, 1, 6, 19}; s.solution(lottos, win_nums); //[3, 5] - 최고 순위, 최저 순위 } } class Solution3 { public int..
상속 kotlin은 기본적으로 클래스간의 상속이 금지되어있다. 상속을 하려면 이 기본값을 상속금지에서 상속가능으로 변경해주어야 한다. 변경해줄 때 클래스 앞에 open을 붙인다. // open을 붙인다 open class Animal(var name:String, var age:Int, var type:String){ fun introduce(){ println("[$type] Hi my name is $name and I'm $age!") } } //상속을 받을 때 안의 매개변수는 상속을 받는 것이므로 var을 선언하지 않고 매개변수의 이름만 선언한다. //선언을 할 때 사용할 기본값만 선언하고 상속을 받으면서 고정될 기본값을 다음 : 뒤에 붙인다. class Dog(name:String, age:In..
객체지향, 즉 데이터를 객체로 취급하여 프로그램에 반영한 것으로 객체들의 상호작용을 통해 프로그램이 동작하는 것을 말한다. 객체지향의 코드의 재사용, 변경의 특징을 이용해서 다음과 같은 클래스를 만들 수 있다. class Food( // 콤마를 사용해 변수를 초기화하고 var name: String, var calories: Int ){ // 다음 중괄호안에 클래스 함수를 써주고 변수명을 참조할 때는 $를 쓴다 = jQuery랑 비슷함 fun brief(){ println("Name : $name Calories : $calories" ) } } fun main(){ var a = Food("Chicken", 1500) var b = Food("Pizza", 1000) // 만든 함수를 호출할 때는 .뒤..
첫 프로그래머스 풀이. 아래 문제를 통해 정규식을 다시 한번 공부할 수 있었다. 세상 유용한듯 public static void main(String[] args) { //1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. //2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. //3단계 new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다. //4단계 new_id에서 마침표(.)가 처음이나 끝에 위치한다면 제거합니다. //5단계 new_id가 빈 문자열이라면, new_id에 "a"를 대입합니다. //6단계 new_id의 길이가 16자 이상이면, new_id의 첫 15개의 문자를 제외한 나머..