반응형

All 62

프로그래머스 레벨1 - 하샤드 수 with Python

문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한 조건 x는 1 이상, 10000 이하인 정수입니다. 입출력 예 arr return 10 true 12 true 11 false 13 false 입출력 예 설명 입출력 예 #1 10의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다. 입출력 예 #2 12의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다. 입출력 예 #3 11의 모든 자릿수의 합..

[Java9 프로그래밍] 09. 자바 객체지향 - more

Static 클래스에 선언된 메소드나 멤버변수는 반드시 객체화시켜야 사용 가능 메소드의 사용 조건 Calculator(클래스) calculator(객체) = new Calculator( 10, 50 ); (생성자) int result = calculator.f (50); => calculator 객체를 사용해서 Calculator 클래스 내부의 f 메소드를 호출. f(x) 메소드를 인스턴스화 시키지 않고 사용하고 싶다면, static을 사용 (객체 변수를 만들고싶지 않다면 = 인스턴스화 시키지 않고 싶다면) static method public class Calculator { public static int f (int x) { } } => 이렇게 되면 객체 만들지 않고 바로 클래스에 접근할 수 있다...

Programming/Java 2020.03.19

프로그래머스 레벨1 - 콜라츠 추측 with Python

콜라츠 추측 문제 설명 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 입력된 수가 6이라면 6→3→10→5→16→8→4→2→1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야하는지 반환하는 함수, solution을 완성해 주세요. 단, 작업을 500번을 반복해도 1이 되지 않는다면 –1을 반환해 주세요. 제한 사항 입력된 수, num은 1 이상 8000000 미만인 정수입니다..

프로그래머스 레벨1 - 이상한 문자 만들기 with Python

이상한 문자 만들기 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 입출력 예 s return try hello world TrY HeLlO WoRlD 입출력 예 설명 try hello world는 세 단어 try, hello, world로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 ..

[Java9 프로그래밍] 08. 객체지향 모델링

객체지향이란? 데이터 타입을 별도로 만들어 데이터를 처리한다. 객체(Object)로 프로그램을 작성 전체 어플리케이션을 객체로 분리하여 보델링 ex) 학생 관리타입을 만들고자 한다. 학생의 학번, 이름, 주소, 현재 학년 등에 대한 정보를 가지고 있는게 ‘학생’이다. 학생에 대한 이러한 정보를 하나의 타입에 넣어서 캡슐화시켜서 만든것이 타입, 객체다. 홍길동이라는 학생은 이름이 홍길동, 나이가 20, 성별 남자, 주소는 서울이다. 이 네가지 정보를 가지고 있는 것이 홍길동이라는 객체다. 이 학생 개개인의 객체를 만들기 위해서는 이름, 나이, 성별, 주소 데이터를 가지고 있어야 함. 모든 객체들이 똑같은 타입, 똑같은 구조로 만들어지는 것을 지원하는게 “클래스”이다. 자바는 클래스와 객체 모두를 사용한다...

Programming/Java 2020.03.13

[Java9 프로그래밍] 07. 함수(메소드)

함수와 메소드 Java에서 함수와 메소드는 동일하게 사용 메소드가 좀더 기술적으로 맞는 용어 클래스 내부에 있는 함수를 특별히 메소드라고 함 (자바는 모든 것이 클래스로 구성) main 메소드가 길어지면 클래스로 분리 또는 여러 함수로 분리 가능 메소드 구조 반환값의 타입 (없으면 void) 메소드 이름 파라미터 타입과 이름 메소드 구현부 - 구현할 내용 작성 반환할 결과가 있으면 return public class 클래스 { 접근제한자 반환타입 메소드명 (파라미터타입 파라미터명, ,,,) { …수식… return 반환변수 혹은 값 혹은 수식 } } => 접근제한자 : 메소드는 클래스 내부에서 정의가 되는데, 메소드가 모든 사람이 사용할 수 있는지, 특별한 사람만 사용할 수 있는지 메소드 사용 권한과 관..

Programming/Java 2020.03.13

[Java9 프로그래밍] 05-06. 데이터 구조, ArrayList, Map

배열의 선언과 초기화 배열 : 여러개의 데이터를 한꺼번에 처리할 때 사용 char[] arrayVar = new char[7]; // => 캐릭터 배열 타입 //=> 7개짜리 캐릭터 배열을 만든다. => 네모 하나가 char 타입의 변수다. 7개가 들어가는 캐릭터 배열을 만들었다. 빈 배열. 크기만 할당. 배열에 값 넣기 arrayVar[2] = ‘c’; // 2번 인덱스에 'c' 문자 할당 arrayVar = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’}; // 모든 문자 할당 배열 안의 하나하나를 element/item, 요소라고 말한다. Java에서는 배열을 생성하면 엘레먼트의 값이 디폴트 값으로 초기화됨. Int[] arrayVar = new int[7]; => 인트형 배열의 경..

Programming/Java 2020.03.13

[Java9 프로그래밍] 04. 제어 흐름 (Control Flow)

분기와 루프 구조적으로 프로그래밍을 지원하는 if (분기), for (루프, 반복) 과거에는 goto라는 분기문을 사용했다. 특정 라인으로 바로 점프할 수 있지만 코드가 복잡해지면서 코드의 유지보수가 힘들어짐. 이것을 수학적으로 증명한 것이 구조적 프로그래밍. 문법은 C++과 자바스크립트, 파이썬, Kotlin, Swift와 유사. 분기, Branching if문은 괄호 안에 조건이 들어가고, 그 뒤에 한 문장 또는 중괄호로 감싼 문장이 옴. if (boolean 혹은 condition){ statement; } 비교 연산자의 결과 값은 모두 boolean 타입 크다 : x>y 작다 : x=y 작거나 같다 : x 이런 비교연산자의 결과값은 항상 참이나 거짓, boolean타입이다. age변수의 데이터를 ..

Programming/Java 2020.03.13

[Java9 프로그래밍] 03. 변수와 타입의 이해 2

Java에서 변수명을 짓는 방법 변수의 의미와 목적이 분명히 나타나야 한다. 비슷한 이름은 사용하지 않는다. 단축어 사용을 지양한다. 숫자로 시작할 수 없다. 띄어쓰기를 할 수 없다. 특수기호를 사용하지 않는다. 예약어를 사용하지 않는다. Camel Case를 지킨다. => 단어와 단어사이엔 대문자로 표시. 대소문자를 구분한다. Camel Case 사용 변수명의 머리글자는 소문자로 시작한다. 다음 나타나는 단어의 머리글자는 대문자로 한다. ex) int resultOfCalculateTwoNumbers = 10 + 50; => 장황해보일순 있지만 복잡한 애플리케이션과 비즈니스에선 이런식으로 써주는게 고수로 가는 길이다. UTF-8 인코딩이란? 유니코드 한 문자를 나타내기 위해 1바이트에서 4바이트까지를 ..

Programming/Java 2020.03.13

[Java9 프로그래밍] 02. 변수와 타입의 이해 1

변수, Variable이란? 데이터를 담아두고 사용하는 메모리 공간 이름을 부여하여 접근/사용함 int (type) count (name) count = 100; (Container named “Count” holding a value 100) (100을 변수 count에 할당) ** int count 만 해서 선언을 하면 초기화가 되있지 않기 때문에 자바에서 돌아가지 않음. 변수 : 데이터를 계산, 처리하기 위해 잠시 저장하는 저장소 사용자로부터 입력 받은 값 계산을 위해 잠시 저장하는 값 계산의 결과 값 등을 저장. 변수의 타입 - 기본 타입 (많이 사용하는 타입. 나머지는 모두 객체 타입) 자바 변수의 기본 타입, Primitive Data Type 정수 타입 부동소수점 타입 char 타입 bool..

Programming/Java 2020.03.13
반응형