Cute Running Puppy
반응형

전체 글 124

[Girls In ICT 2022] 참여 & 수상 후기

Girls in ICT 2022 해커톤 - Ericsson (ericssonlg.com) Girls in ICT 2022 해커톤 에릭슨엘지는 ICT 리더로서 균형적이며 다양성을 포용하는 ICT 산업계를 만들어가기 위해 여성의 STEAM 교육을 장려하고 ICT 산업으로의 진로 개발을 응원하기 위해 Girls in ICT 해커톤을 개최합니다. www.ericssonlg.com 2022.09.30 ~ 2022.11.23 Girls In ICT 2022의 시작부터 수상까지 과정을 기록한 글입니다. 팀명: Ada 팀원 닉네임: 선요, 희요, 은요 (작성자) 분명 해커톤은 5일이었는데... 준비하고 준비하고 준비하다 보니 2달이 되어버렸다. 🤣 팀 결성 9월 말쯤 선요에게서 해커톤에 함께 하자는 연락이 왔다. 이전..

회고 2022.11.28

최댓값과 최솟값의 초깃값 지정

최댓값 → 최솟값을 초깃값으로 최솟값 → 최댓값을 초깃값으로 sys 사용 시스템에서 지정할 수 있는 가장 크고, 작은 값을 활용 mx = -sys.maxsize mn = sys.maxsize float 사용 float을 사용하여 무한대 값을 지정 mx = float('-inf') mn = float('inf') 임의의 값 (999999 등)을 최댓값, 최솟값 등으로 설정하는 것은 가장 좋지 않은 방법이다. 파이썬은 임의 정밀도를 지원하여 사실상 무한대의 값을 지정할 수 있다. 얼마든지 지정한 값 보다 작거나, 큰 값이 들어올 수 있다. 혹은 코테 문제에서 기술되어 있는 제약 조건을 확인한 뒤 기준에 맞추어 최대, 최솟값을 처리하면 된다

[python] 238. Product of Array Except Self

Product of Array Except Self - LeetCode Product of Array Except Self - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 자신을 제외한 배열의 곱 제시된 배열에서 자신을 제외한 값들을 곱한 값들을 리턴하는 문제 주의!! 나눗셈 금지 조건 존재 배열의 모든 값들의 곱을 구하고 자기 자신으로 나누는 풀이는 불가! 풀이 옳은 풀이 자기 자신을 제외한 왼쪽 값들의 곱셈 결과와 오른쪽 값들의 곱을 곱하면 올바른 풀이를 ..

[python] 561. Array Partition

Array Partition - LeetCode Array Partition - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 배열 파티션 1 주어진 배열에서 2개의 값으로 이루어진 페어를 생성하고 페어의 값의 최솟값들의 합이 최대가 될 때의 합을 리턴하는 문제 정말로 모든 페어를 구한다 ? -> x 페어의 최소값들의 합이 최대가 되어야 한다는 조건을 이용하여 페어를 구해보자 풀이 오름차순 풀이 2개의 원소를 가진 값들의 최솟값의 합을 구해야 한다 그러나 모든 ..

[python] 15. 3sum

3Sum - LeetCode 3Sum - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 세 수의 합 입력받은 숫자 배열에서 세 수를 더하여 0이 되는 3수의 조합을 반환하는 문제 풀이 브루트 포스 모든 수를 조합하여 더하여 합이 0이 되는 조합을 찾으면 풀이할 수 있다. # 브루트 포스 # Time Limit Exceeded from typing import List class Solution: def threeSum(self, nums: List[int]) -..

[python] 1. Two Sum

Two Sum - LeetCode Two Sum - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 두 수의 합 더하여 target의 값이 되는 두 값의 인덱스를 반환하는 문제 매우 쉬운 문제이나 여러 가지 방법으로 풀이할 수 있어 코딩 인터뷰에서 높은 빈도로 출제되는 문제이다. 풀이 다양한 방법으로 풀이가 가능한 문제이다. 브루트 포스로 풀이 브루트 포스 (brute-force): 무차별 대입 방식 모든 조합을 다 더해서 일일이 확인해본다면 브루트 포스 방식을 ..

[python]5. Longest Palindromic Substring

Longest Palindromic Substring - LeetCode Longest Palindromic Substring - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 가장 긴 팰린드롬 부분 문자열 입력된 문자열에서 가장 긴 팰린드롬을 찾아 반환하는 문제 1. 팰린드롬을 찾고 2. 가장 긴 팰린드롬인지 확인 틀린 풀이 class Solution: def longestPalindrome(self, s: str) -> str: # 팰린드롬을 담을 리스트 p..

[스프링 입문] 1. 프로젝트 환경 설정

본 게시물은 「스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술」을 수강한 뒤 관련 내용을 정리한 게시물입니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런... www.inflearn.com 프로젝트 생성 스프링 부트 starter 사이트에서 스프링 프로젝트를 ..

Back end/spring 2022.06.27

[python] 937. Reorder Data in Log Files

https://leetcode.com/problems/reorder-data-in-log-files/ Reorder Data in Log Files - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 기준에 맞추어 로그를 재정렬하는 문제 1. 로그의 가장 앞 부분은 식별자 2. 문자로 구성된 로그가 숫자로 구성된 로그보다 앞에 온다 3. 식별자는 순서에 영향을 미치지 않는다, 문자가 동일할경우 식별자 순으로 정렬한다 4. 숫자 로그는 입력 순서대로 정렬한다 cla..

[python] 344. Reverse String

https://leetcode.com/problems/reverse-string/ Reverse String - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 문자열을 뒤집는 문제 (return을 사용하면 안된다) 풀이 1. class Solution: def reverseString(self, s: List[str]) -> None: s.reverse() reverse 함수를 사용 (reverse 함수는 리스트에만 적용가능) (결과) Runtime: 379 m..

[python] 125. Valid Palindrome

https://leetcode.com/problems/valid-palindrome/ Valid Palindrome - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 주어진 문자열이 펠린드롬인지 확인하는 문제 대소문자를 구분하지 않고, 알파벳과 숫자만을 대상으로 한다. 풀이 1. class Solution: def isPalindrome(self, s: str) -> bool: s = ''.join(char for char in s if char.isalpha(..

6주차_16. 제네릭

제네릭 클래스와 제네릭 인터페이스 제네릭 오버로딩의 비효율성을 해결하는 문법 제네릭의 문법 제네릭 클래스와 제네릭 인터페이스 정의하기 1. 제네릭 타입 변수명이 1개일 때 접근_지정자 class 클래스명 { ... } 접근_지정자 interface 클래스명 { ... } 2. 제네릭 타입 변수명이 2개일 때 접근_지정자 class 클래스명 { ... } 접근_지정자 interface 클래스명 { ... } 제네릭 클래스는 객체를 생성하는 시점에 타입을 지정함 (클래스를 정의하는 시점에 타입을 지정하는 것 X) public class Myclass { private T t; public T get(); { return t; } public void set(T t) { this.t = t; } } publi..

5주차_15.쓰레드

쓰레드의 생성 및 실행 1. Thread 클래스를 상속받아 run() 메서드를 오버 라이딩 하기 2. Runnable 인터페이스를 구현한 Runnable 객체를 생성 -> Thread 객체를 생성할 대 Runnable 객체를 생성자로 전달 스레드 생성 및 실행 방법 1. Thread 클래스를 상속받아 run() 메서드 재정의 start() = 새로운 스레드 생성, 추가하기 위한 모든 춘비 + 새로운 스레드 위에 run() 실행 2. Runnable 인터페이스 구현 객체를 생성한 후 thread 생성자로 Runnable 객체 전달 1. Runnable 인터페이스를 구현한 클래스 정의 2. 앞서 정의한 클래스를 이용해서 Runnable 객체 생성 3. Thread 객체의 start()를 호출해서 스레드 실행..

5주차_14.예외처리

예외 예외와 에러의 차이점 예외 에러 상황에 따라 개발자가 해결할 수 있는 오류 개발자가 해결할 수 없는 오류 오류가 발생했을 때 차선책을 선택할 수 있는 것 자바 가상 머신 자체에서 발생하는 오류 0으로 나누는 것은 피할 수 있다 메모리가 꽉 차거나 쓰레드가 죽는 것은 피할 수 없다 예외 클래스의 상속 구조 일반 예외 실행 예외 Exception 클래스에서 직접 상속 RuntimeException 클래스를 상속 컴파일 전에 예외 발생 문법을 검사 실행 할 때 발생하는 예외 예외 처리 안하면 문법 오류 예외처리 안해도 문법 오류 안남 일반 예외 클래스 예외 처리를 하지 않으면 문법 오류 발생 interruptedException Thread.sleep(시간) 일정 시간 동안 해당 쓰래드를 일시 정지 상태..

5주차_13.이너 클래스와 이너 인터페이스

이너 클래스 1. 인스턴스 멤버 이너 클래스 객체 내부에 멤버의 형태로 존재하는 클래스 아우터 클래스의 모든 접근 지정자의 멤버에 접근 가능 이너 클래스는 독집적으로 사용될 수 없고, 반드시 아우터 클래스를 사용해야 사용할 수 있다. 인스턴스 이너 클래스 객체 생성하기 아우터 클래스의 객체 생성 -> 아우터 클래스의 객체 참조 변수를 이용 -> 객체 내부에 있는 이너 클래스의 생성자 호출 cf) 인스턴스 필드, 메서드를 사용하기 위해 클래스의 객체를 먼저 생성하는 것과 같은 원리 인스턴스 멤버 이너 클래스의 객체 생성 방법 아우터_클래스 아우터_클래스_참조_변수 = new 아우터_클래스 (); 아우터_클래스.이너_클래스 이너_클래스_참조_변수 = 아우터_클래스_참조_변수.new 이너_클래스(); clas..

[python] 5622_다이얼

https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net string = list(input()) dial = { 3: ["A", "B", "C"], 4: ["D", "E", "F"], 5: ["G", "H", "I"], 6: ["J", "K", "L"], 7: ["M", "N", "O"], 8: ["P", "Q", "R", "S"], 9: ["T", "U", "V"], 10: ["W", "X", "Y", "Z"] } res = 0 for i in string: for j in range(3, 11): if i in dial[j]: re..

[python] 2941_크로아티아 알파벳

https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net cro = ["c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="] alpha = input() for i in cro: if i in alpha: ''' alpha = alpha.replace(i, '') res += 1 발견한 크로아티아 문자를 없애면 중복된 크로아티아 문자를 셀 수 없다. ''' alpha = alpha.r..

[python] 1712_손익분기점

https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net a, b, c = map(int, input().split()) if (b >= c): res = -1 else: res = int(a / (c - b)) + 1 print(type(round(a / (c - b)))) print(res) 1. b == c 일 때에도 손익분기점이 계산되지 않는다. 2. 계산 결과를 int 형으로 변환하는 것을 잊지 않아야 한다.

[python] 2292_벌집

https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net num = int(input()) honeycomb = [1] while(1): if (num == 1): break else: honeycomb.append(honeycomb[-1] + (6 * len(honeycomb))) if(honeycomb[-1] >= num): break print(len(honeycomb)) 계차수열의 값들을 계산해서 리스트에 넣고 리스트의 개수를 세는 방식으로 코드를 작성하..

4주차_12. 추상 클래스와 인터페이스

추상 클래스 추상 클래스의 정의 메서드 본체가 완성되지 않은 미완성 메서드 - 메서드의 기능을 정의하는 중괄호 부분이 비어있다. - 중괄호가 없기 때문에 세미콜론으로 끝나야 한다. abstract 리턴_타입 메서드명(입력_매개변수); 추상 메서드를 1개 이상 포함하고 있는 클래스는 반드시 추상 클래스로 정의되어야 한다. abstract class 클래스명 { //추상 메서드가 1개 이상 포함되어 있으면 된다. 없어도 된다. } // 미완성 메서드 abstract abc(); // 완성 메서드 void abc () { } 추상 클래스의 특징 추상 클래스는 내부의 미완성 메서드 때문에 객체를 직접 생성할 수 없다. (A a = new A(); 불가) 추상 클래스를 상속한 자식 클래스를 생성하면 그 자식 클래..