링크 : https://www.acmicpc.net/problem/5622 문제 설계하기(접근방법) 1. 먼저 규칙을 파악한다. 첫번째 방은 1 두번째 방은 1 + 6 = 2 ~7 세번쨰 방은 1 + 6 + 12 = 8 ~19 네번째 방은 1 + 6 + 12 + 18 = 20 ~ 37 즉 첫번째 를 제외하고 6씩 증가하는 계차수열로 이루어져있다 2. 숫자를 입력받는다. = n 3. 첫번째 항을 제외하고, for문을 통해 sum에 누적해서 6*i를 더해나간다. 4. sum이 n이랑 같거나 커지는 순간 = 그 방의 위치를 나타낸다 5. i 값을 출력한다. 코드(출력) n = int(input()) # 19 sum = 1 i = 1 while (i): if (n == 1): i = 1 break if (sum..
링크 : https://www.acmicpc.net/problem/2941 문제 설계하기(접근방법) 1. 크로아티아 알파벳을 입력받는다. 2. 크로아티아 알파벳을 담은 리스트를 만든다. 3. 입력받은 단어를 for문으로 순회하면서 알파벳 리스트 검증 4. 일치할 경우 replace 메서드를 통해 한글자 알파벳으로 변경 5. 바꾼 단어의 개수를 len()으로 출력 코드(출력) cro_word = input() cro_alp = ['c=', 'c-', 'dz=', 'd-', 'lj', 'nj', 's=', 'z='] for i in cro_alp: cro_word = cro_word.replace(i, '0') print(len(cro_word)) 얻어갈 부분 1. replace 함수를 알지 못했을 때는 어..
링크 : https://www.acmicpc.net/problem/1316 문제 설계하기(접근방법) 객체지향적으로 코딩해보기 1. 숫자를 입력받는다 2. 전체 단어의 갯수 저장 = ans 3. 입력받은 숫자만큼 input을 받으며 메서드 반복 4. 메서드를 반복하며 그룹단어가 아닌 경우 ans에서 1씩 감소 3. 그룹단어 갯수 즉 ans 출력 그룹단어 체크 메서드 설계 매개변수 : string 조건문 : if 현재 인덱스와 직후 인덱스가 일치하면 pass elif 일치하지 않고, 후열의 인덱스를 순회하여 같은 단어가 있다면 -1을 return 전부 pass하면 0을 return 코드(출력) def group_word_check(word): for i in range(len(word) - 1): if (w..
링크 : https://www.acmicpc.net/problem/5622 문제 설계하기(접근방법) 1. 알파벳을 입력받는다. 2. 알파벳을 묶음 단위로 저장한 리스트를 생성한다. 3. 알파벳을 for문으로 순회, 그리고 '2번'의 리스트를 순회하며 해당하는 알파벳이 존재할 경우 sum 에 더해준다 4. sum 출력 코드(출력) alphabet = list(input()) # DEA time = ['ABC', 'DEF', 'GHI', 'JKL', 'MNO', 'PQRS', 'TUV', 'WXYZ'] sum = 0 for i in time: # 'ABC' for j in alphabet: # 'D', 'E', 'A' if j in i: sum += time.index(i)+3 print(sum) 얻어갈 부..
링크 : https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 문제 설계하기(접근방법) 1. 숫자1, 숫자2를 동시에 입력받는다. 2. 각각의 숫자를 파이썬의 리스트 슬라이싱 기능을 활용하여 역순으로 저장한다 3. 두 수의 크기를 비교하는 method인 max()를 사용하여 출력한다. 코드 num1, num2 = input().split() revesrse_num1 = num1[::-1] revesrse_num2 = num2[::-1] print(max(reve..
1. 변수 1.1 변수란? 💡 “변수란, 단 하나의 값을 저장하 수 있는 메모리 공간” 프로그래밍 언어에서 변수란, 값을 저장할 수 있는 메모리상의 공간 하나의 변수에 단 하나의 값만 저장할 수 있음, 새로운 값을 저장하면 기존의 값은 사라짐 1.2 변수의 선언과 초기화 int age; // age 라는 이름의 변수 선언 변수 타입 - 변수에 저장될 값이 어떤 타입인지 지정 정수형, 실수형, 문자형 등 변수 이름 - 변수에 붙인 이름 같은 이름의 변수가 여러 개 존재해서는 안됨 변수의 초기화 변수를 사용하기 전에 처음으로 값을 저장하는 것 int age = 25; // 변수 age를 선언하고 25로 초기화한다. 변수를 선언한 이후 초기화하지 않으면 메모리의 낭비가 발생할 수 있다. int a, b; in..
1. 자바(Java Programming Language) 1.1 자바란? 1996년 썬 마이크로시스템즈에서 개발한 객제지향 프로그래밍 언어 운영체제의 종류에 관계없이 실행이 가능하기 때문에, 운영체제에 따라 프로그램을 변경하지 않고도 실행가능 1.2 자바의 역사 1991년 썬의 엔지니어들에 의해서 고안된 Oak라는 언어에서부터 시작되었다. 가전제품에 탑재될 소프트웨어였으나, 인터넷의 등장으로 이름을 Java로 변경 1.3 자바 언어의 특징 1. 운영체제에 독립적이다 기존의 언어 -> 다른 운영체제에서 적용하기 위해 많은 노력 필요 가능한 이유 : 자바가상버신(JVM), 자바 응용 프로그램은 운영체제나 하드웨어가 아닌 JVM 만을 통해서 통신한다. JVM 은 운영체제에 종속적이어서 썬에서는 여러 운영체제..