전체 글 68

프로그래머스 - 옹알이(2) (JAVA)

문제 설명 머쓱이는 태어난 지 11개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음과 네 가지 발음을 조합해서 만들 수 있는 발음밖에 하지 못하고 연속해서 같은 발음을 하는 것을 어려워합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 30 문자열은 알파벳 소문자로만 이루어져 있습니다. 입출력 예 babbling result ["aya", "yee", "u", "maa"] 1 ["ayaye", "uuu", "yeye", "yemawoo", "ayaay..

Algorithm 2023.03.17

프로그래머스 - 모음제거 (JAVA)

문제설명 영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 my_string은 소문자와 공백으로 이루어져 있습니다. 1 ≤ my_string의 길이 ≤ 1,000 입출력 예 my_string result "bus" "bs" "nice to meet you" "nc t mt y" 나의 풀이 class Solution { public String solution(String my_string) { return my_string.replaceAll("[aeiou]", ""); } }

Algorithm 2023.03.17

프로그래머스 - 옹알이(1) (JAVA)

문제 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 15 babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다. 즉, 각 문자열의 가능한 모든 부분 문자열 중에서 "aya", "ye", "woo", "ma"가 한 번씩만 등장합니다. 문자열은 알파벳 소문자로만 이..

Algorithm 2023.03.14

자바(Java) - 객체지향 프로그래밍 1-2(Object - oriented Programming)

기본형 매개변수, 참조형 매개변수 자바에서는 메서드를 호출할 때 매개변수로 지정한 값을 메서드의 매개변수에 복사해서 넘겨준다. 매개변수의 타입이 기본형일 때는 기본형 값이 복사되겠지만, 참조형이면 인스턴스의 값이 복사된다. 메서드의 매개변수를 기본형으로 선언하면 단순히 저장된 값만 얻지만, 참조형으로 선언하면 값이 저장되는 곳의 주소를 알 수 있기 때문에 값을 읽어오는 것은 물론 값을 변경하는 것도 가능하다. 기본형 매개변수 : 변수의 값을 읽기만 할 수 있다. 참조형 매개변수 : 변수의 값을 읽고 변경할 수 있다. 참조형 반환타입 매개변수 뿐만 아니라 반환타입도 참조형이 될 수 있다. 반환타입이 참조형이라는 것은 반환 하는 값의 타입이 참조형이라는 얘기이다. 모든 참조형 타입의 값은 '객체의 주소'이므..

Java 2023.03.12

자바(Java) - 객체지향 프로그래밍 1-1(Object - oriented Programming)

객체지향 언어의 주요 특징은 1. 코드의 재사용성이 높다. 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 2. 코드의 관리가 용이하다. 코드간의 관계를 이용하여 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오작동을 방지할 수 있다. 클래스와 객체 클래스란 '객체를 정의해놓은 것.' 또는 '객체의 설계도 또는 틀'이라고 정의할 수 있다. 클래스는 객체를 생성하는데 사용되며, 객체는 클래스에 정의된 대로 생성된다. 클래스의 정의 : 객체를 정의해 놓은 것 클래스의 용도 : 객체를 생성하는데 사용 객체의 정의 : 실제로..

Java 2023.03.11

자바(Java) - 배열(Array)

배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것이다. 서로 다른 타입의 변수들로 구성된 배열은 만들 수 없다. 변수 대신 배열을 이용하면 변수의 선언과 달리 다뤄야 할 데이터의 수가 아무리 많아도 단지 배열의 길이만 바꾸면 된다. 선언과 생성 배열을 선언하려면, 원하는 타입의 변수를 선언하고, 변수 또는 타입에 배열임을 의미하는 대괄호[ ]를 붙이면 된다. 대괄호는 타입 뒤에 붙여도 되고, 변수 이름 뒤에 붙여도 된다. 배열을 선언한 다음에는 배열을 선언해야 한다. 배열을 선언하는 것은 단지 생성된 배열을 다루기 위한 참조변수를 위한 공간이 만들어질 뿐이고, 배열을 생성해야 값을 저장할 수 있는 공간이 만들어진다. 배열을 생성하기 위해서는 'new'연산자 와 함께 배열의 타입과 길이를 지정해 ..

Java 2023.03.09

자바(Java) - 조건문과 반복문(if, switch, for, statement).연습문제

4 - 4번 문제 못풀어서 정훈님이 도와주셨다. 처음에 변수를 num하나만 두고 while 문을 돌려버려서 마지막에 몇번째 숫자를 더해야 100이 넘는지가 아니라 결과값이 100을 넘게 하는 마지막 숫자를 더했을 때의 값을 출력해 버린 것 같다. 그래서 100을 넘게 하는 숫자를 구하기 위해 변수를 하나 더 설정했다. while문을 돌려서 num에 100을 넘게하는 값을 저장하도록 하고, a라는 변수를 추가해서 a에 num을 2로 나눈 나머지가 1이면 더하고 나머지가 0이면 빼도록 해서 a의 값이 100이 넘었을 때의 num값을 출력하게 했다. 갈길이 멀다..

Java 2023.03.09

자바(Java) - 조건문과 반복문(if, switch, for, statement)

코드의 실행 흐름은 무조건 위에서 아래로 한 문장씩 순차적으로 진행된다. 하지만 조건에 따라 문장을 건너뛰고, 같은 문장을 반복해서 수행해야 할 때가 있다. 프로그램의 흐름을 바꾸는 역할을 하는 문장들을 제어문(control statement)이라고 한다. 제어문에는 조건문과 반복문이 있는데, 조건문은 조건에 따라 다른 문장이 수행되도록 하고, 반복문은 특정 문자들을 반복해서 수행한다. 조건문 if문 가장 기본적인 조건문이다. if (//조건식){ //조건식이 참일 때 수행될 문장들을 적는 곳 } if의 뜻은 '만일~이라면 { }안에 문장들을 수행하라'이다. if문에 사용되는 조건식은 일반적으로 비교 연산자와 논리 연산자로 구성된다. 블럭{} 괄호를 이용해서 여러 문장을 하나의 단위로 묶을 수 있는데, ..

Java 2023.03.08

자바(Java) - 연산자(Operator)

연산자는 '연산을 수행하는 기호'를 말한다. ex) '+'는 덧셈 연산을 수행하며, '덧셈 연산자'라고 한다. 자바에서는 사칙연산을 비롯해서 다양한 연산자를 제공한다. 연산자가 연산을 수행하려면 반드시 연산의 대상이 있어야 하는데, 이것을 '피연산자'라고 한다. '3 + x'라는 식이 있을 때 '+'는 덧셈 연산을 수행하는 연산자이고, '3'과 'x'는 이 연산자의 피연산자이다. 연산자는 피연산자로 연산을 수행하고 나면 항상 결과값을 반환한다. 위 식에서 x의 값이 5일 때 연산 결괏값은 8이 된다. 연산자와 피연산자를 조합하여 계산하고자 하는 바를 표현하는 것을 '식'이라고 한다. 식을 계산하여 결과를 얻는 것을 '식을 평가한다'고 한다. 단 하나의 식을 평가하면 단 하나의 결괏값을 얻는다. 위 식에서..

Java 2023.03.07

자바(Java) - 변수(Variable)

값을 저장해 두는 공간을 변수라고 한다. 하나의 공간을 저장해 주는 저장공간 = 변수 저장공간이 필요하다면 우선 변수를 선언해야 한다. //변수를 선언하는 방법 변수타입 변수이름; 변수의 타입은 변수에 저장할 값이 어떤 것이냐에 따라 달라진다. 변수의 이름은 저장공간들이 서로 구별될 수 있도록 해야 하기 때문에 필요하다. ex) 정수를 저장할 공간이 필요하다면 int x; //정수(integer)를 저장하기 위한 변수 x를 선언 위 문장이 수행되면 x라는 이름의 변수(저장공간)가 생기는 것이다. 그리고 이 변수에 값을 저장할 때는 '='(대입연산자)를 사용한다. x = 5; //변수에 5를 저장 변수에는 오로지 하나의 값만 저장할 수있기 때문에, 이미 값이 저장된 변수에 새로운 값을 저장하면 기존의 값은..

Java 2023.03.07

자바(Java)공부 시작

자바는 객체지향적 프로그래밍 언어이다. 가장 중요한 특징은 운영체제에 독립적이라는 것이다. 자바로 작성된 프로그램은 운영체제의 종류에 관계없이 실행이 가능하기 때문에, 운영체제에 따라 프로그램을 전혀 변경하지 않고도 실행이 가능하다. 또, 자바는 풍부한 클래스 라이브러리(Java API)를 통해 프로그래밍에 필요한 기본 요소들을 기본적으로 제공한다. 따라서 자바 프로그래머는 단순히 이 클래스를 잘 활용해도 강력한 기능의 자바 프로그램을 작성할 수 있다고 한다. 특징 1. 운영체제에 독립적이다. 기존의 언어는 한 운영체제에 맞게 개발된 프로그램을 다른 종류의 운영체제에 적용하기 위해서 많은 노력이 필요하였지만 자바 응용프로그램은 운영체제나 하드웨어가 아닌 일종의 에뮬레이터인 자바가상머신(JVM)하고만 통신..

Java 2023.03.07