본문 바로가기

분류 전체보기383

완전 탐색 🧑‍💻 완전 탐색 멀티잇 코딩테스트 러닝클래스'Python 5월반 제곱 암호 암호를 풀어내는 문제 알파벳, 숫자 순서로 짝을 이뤄서 입력이 주어진다 숫자를 제곱하고, 앞에 알파벳을 제곱번째의 알파벳을 출력하는 것이다 ord와 chr를 사용했다 알파벳을 숫자로 반환하기 위해서 ord를 사용 소문자 같은 경우 a = 97 ~ z = 122 122를 넘어갈 경우를 대비해서 (int(code[i]) ** 2) % 26 를 해주었다 그리고 한번 더 122를 넘어가면 26을 뺐다 마지막으로 숫자를 문자로 반환하기 위해 chr를 사용 N = int(input()) code = list(input()) answer = '' for i in range(N): if i % 2 == 0: temp = code[i] else.. 2023. 5. 11.
시뮬레이션과 창의적 해결 🧑‍💻 시뮬레이션과 창의적 해결 멀티잇 코딩테스트 러닝클래스'Python 5월반 0 커플 숫자로 된 리스트가 주어진다 리스트 안에 숫자의 개수는 짝수이다 음수와 양수가 들어가 있고, 둘의 합이 0이면 커플이다 그 중 합하면 0이 아닌 숫자를 구해야 한다 딕셔너리로 먼저 해결을 했다 key 로는 숫자의 절대값을 넣었고, value에다가 원래 값을 넣었다 만약 절대값이 같으면 value에 값끼리 더했다 (같은 절대값이 나오면, value는 0이 된다) 그리고 마지막에 모든 value 들을 더했다 짝이 없으면, value는 0이 아니라, 다른 숫자일 것 N = int(input()) score = list(map(int, input().split())) temp_dict = {} for s in score: .. 2023. 5. 9.
5. Java Platform (Complier, ByteCode, JVM) 5. Java Platform 자바 플랫폼 개요 컴퓨터는 0과 1만 이해한다 이것을 basic instructions 이라고 한다 즉 자바를 사용하든, 다른 프로그래밍 언어를 사용하든, 모두 0과 1로 만들어진다 각 OS (운영 체제)들은 각자만의 basic instructions를 가지고 있다 즉 자바 언어로 코드를 작성할 때에, 특정 OS를 맞춰서 자바 코드가 0과 1로 바뀌어야 한다 자바 코드를 작성한다 자바 코드를 컴파일링을 통해 ByteCode로 만든다 여기서 ByteCode는 운영체제와 관계없이 공통적인 포맷을 취한다 JVM (Java Virtual Machine)이라는 소프트웨어를 통해 ByteCode를 특정한 운영체제에 맞도록 만들어준다 JVM은 운영체제마다 모두 다르다 자바 클래스 / 오.. 2023. 5. 9.
4. Java Method 4. Java Method 메서드 메서드를 따로 만들어서 사용하기 메서드 Syntax ReturnType nameOfTheMethod() { // Body of the method; } Hello World 두 번 출력하기 void는 return 되는 타입이 없는 것이다 void twoHelloWorld() { System.out.println("Hello World"); System.out.println("hello World"); } twoHelloWorld(); // Hello World // hello World // jshell에서 메서드를 확인하는 방법 /methods /save backup.txt // 메서드를 backup.txt에 저장하는 것 /edit twoHelloWorld // 메서드.. 2023. 5. 8.
3. Java 기초 3. Java 기초 JShell 단축키 JShell을 사용할 때에는 ' ; ' 를 사용하지 않아도 된다 JShell은 결과를 바로바로 보여주기 때문에, 매우 편하다 ctrl + a : 코드 제일 앞 부분으로 커서를 옮겨준다 ctrl + e : 코드 제일 뒷 부분으로 커서를 옮겨준다 ctrl + r : 코드 검색 기능 if 문 if문은 조건문 (condition)이다 = : 값들을 계산해준다 == : 비교해주는 operator이다 즉 if문은 true or false를 출력해주는 것이다 즉 = 이 아니라 ==을 사용하는게 맞다 int i = 10; if (i = 10) System.out.println("i is 10"); // Output : i is 10 int a = 10 ; int b = 7 ; i.. 2023. 5. 6.
2. Java 기초 2. Java 기초 변수 (variable) 파이썬과 달리, 자바스크립트와 비슷하게 데이터 타입을 변수 이름과 함께 명시해야 한다 integer 는 int float 는 float string 은 str int number_1 = 2; int number_2 = 4; System.out.printf("%d * %d = %d", number_1, number_2, number_1 * number_2).println(); // output : 2 * 4 = 8 number_2 = 100 System.out.printf("%d * %d = %d", number_1, number_2, number_1 * number_2).println(); // output : 2 * 100 = 200 // 문자열도 더하기를 .. 2023. 5. 5.
기초 수학과 구현 🧑‍💻 기초 수학과 구현 멀티잇 코딩테스트 러닝클래스'Python 5월반 최장 맨해튼 거리 |x1 - x2| + |y1 - y2| 의 값이 최장 맨해튼 거리다 (x1, y1) , (x2, y2) 4개의 숫자가 주어지는데, 그 숫자로 만들 수 있는 제일 긴 맨해튼 거리를 만드는 것이다 permutations을 사용하여 주어진 4개의 숫자로 만들 수 있는 수열을 모두 구한다 그리고 맨해튼 거리 공식을 이용하여, 최장 맨해튼 거리를 구하면 된다 from itertools import permutations numbers = list(map(int, input().split())) answer = 0 for i in permutations(numbers, len(numbers)): answer = max.. 2023. 5. 5.
13_Pandas - DataFrame Pandas - DataFrame sort_values 메서드 선택한 행을 정렬해주는 것이다 기본으로는 오름차순으로 정렬된다 NaN은 기본으로 제일 밑에 놓인다 by = "" : 정렬을 할 행의 이름을 넣는다 ascending : 오름차순 또는 내림차순을 결정한다 na_position : NaN 이 어느 위치에 출력이 될지 정해준다 Salary 행을 보면 NaN이 모두 위쪽에 위치한 것을 볼 수 있다 default는 제일 아래에 위치하는 것이다 복수의 행 정렬시키기 nba.sort_values(by = ["Team", "Name"], ascending = [True, False]) by 에 정렬할 행을 순서대로 넣고, ascending에 오름차순 또는 내림차순인지 지정한다 ascending은 꼭 안 해도.. 2023. 5. 4.
기초 문자열 구현 🧑‍💻 기초 문자열 구현 멀티잇 코딩테스트 러닝클래스'Python 5월반 대소문자 바꾸기 단어가 주어지면, 대문자는 소문자로, 소문자는 대문자로 바꿔서 출력하는 것이다 예) input : JeJoon output : jEjOON N = int(input()) word = input() answer = '' for letter in word: if letter.isupper(): answer += letter.lower() else: answer += letter.upper() print(answer) 간단한 풀이 법 N = int(input()) word = input() print(word.swapcase()) .swapcase() 는 대문자를 소문자로, 소문자를 대문자로 바꿔주는 메서드다 단어 필터 .. 2023. 5. 4.