[Kotlin Study] 1. 기본 코틀린 문법
·
Kotlin
1. 상수, 변수 선언 fun main(args: Array) { val pi : Double = 3.141592 // 상수 선언 및 값 할당 println(pi) // val cannot be reassigned var age : Int = 24 // 변수 선언 및 값 할당 println(age) age = 25 println(age) } 2. Kotlin 자료형 Byte : 정수형 Short : 정수형 Int : 정수형 Long : 정수형, 마지막에 L 붙이기 Float : 실수형, 마지막에 F 붙이기 Double + Byte, Short 같은 것 외에 기본적으로 정수는 Int로 받아들임, Long과 Float는 뒤에 각각 L, F 가 붙기 때문에 자동적으로 형을 추론해준다 Char : 글자 1개만 ..
Codeforces - Problemset (rating 1000-1400) 문제 밀기
·
PS 기록/CP
더보기 1851C- Tiles Comeback (1000) https://codeforces.com/problemset/problem/1851/C Problem - 1851C - Codeforces codeforces.com Tag : Greedy 1850F - We Were Both Children (1300) https://codeforces.com/problemset/problem/1850/F Problem - 1850F - Codeforces codeforces.com Tag : Bruteforce, Implementation, Math, Number Theory 이 문제는 본 대회 때 시간이 부족해서 못 푼 문제이다. 아마 내 기억상으로 문제 좀 읽..
2023 여름방학 PS 회고록
·
PS 기록
여름 방학의 마지막 날이 와버렸다. 아 개강 싫다.. 그래도 더 바빠지기 전에 회고록을 빨리 쓰고 싶어서 왔다. 방학 동안 푼 문제 수를 보자.! 방학 시작 당시 내가 푼 문제 수는 23. 06. 29일을 기준으로 347 문제이다. (https://pearlb1ue.tistory.com/30) 현재 내가 푼 문제는 479 문제로, 479-347 = 132 문제를 풀었다. 아무래도 방학이라 그런지 학기 병행할 때보다 PS에 투자할 수 있는 시간이 더 많았다. 덕분에 내가 올해 초에 세운 목표도 달성 할 수 있었다. 1. 23년 2학기 시작하기 전에 P5 달성 -- 완료! 2. 스트릭 365+일 유지하기 -- 진행 중! 다음으로는 방학 기간 동안 아쉬운 점을 적어봤다. 1. 컨디션 관리 실패 6월 중순? 1..
[웹 애플리케이션 개발] - 내 코드 feedback (+계속 추가)
·
Java Spring
프로젝트에서 내가 맡은 기능은 Note (게시글 작성) 기능이다. 단순한 CRUD 기능을 포함하여 우리 팀이 추가한 특징인 "매일 바뀌는 키워드"까지 적용하여 기능을 만들어야 한다.지난 8월 한 달간, 완전 기본 기능을 구현한 코드 ver.1 & 기본 테스트 코드를 작성해서 돌려보았다. 에러 없이 잘 돌아가게 만들기는 했지만, 내 코드가 좋은 코드인가? 라는 질문에는 자신있게 대답할 수 없어서 초안 코드를 피드백하는 기록을 남기고자 한다.초안은 그동안 배운 Java 프로그래밍 지식과 구글링을 통해 완성되었다. 그래서 좋은 개발자의 클린 코드와는 다른 부분이 많았고 그 부분을 피드백 하여 더 좋은 코드로 업그레이드하고자 한다. 1. Builder 패턴으로 객체 생성하기@Builder 어노테이션을 사용하여 ..
SUAPC 2023 SUMMER 후기 (+ 수정 완료!)
·
PS 기록/CP
내 인생 첫 대회... 어리버리하고 실수도 많이 해서 넘 아쉬웠지만 그래도 이화여대 1등팀이 되어서 기쁘다. 확실히 첫 대회라 긴장도 많이 하고, 시간 배분도 잘 못해서 풀 수 있는 문제를 놔두고 어려운 문제 잡고 고통 받기를 반복했다... 그래도 경험이 있는 팀원들의 도움을 많이 받아 운이 좋았다. 문제나 캠프 관련된 후기는 나중에 오픈콘이 끝나고 작성할 예정이다! 오픈콘이 끝난 후 적어보는 대회 구체적인 후기! 우리 팀원 이름이나 핸들을 밝히기는 좀 그래서 ㅎㅎ 핸들 이니셜을 따서 M벗, K벗이라고 부르겠다. ('벗'이라는 단어는 이화여대 학우끼리 서로 부르는 애칭이다!) 1. 준비 과정 PS를 시작한지 얼마 안되었지만, 졸업 전에 SUAPC에 꼭 나가보고 싶다는 생각을 가지고 있었다. 원래는 SUA..
AtCoder ABC #309 UpSolving + 첫 앳코더 후기
·
PS 기록/CP
더보기1. 앳코더를 신청한 계기BOJ 문제를 100일 넘게 꾸준히 풀면서 점점 문제 푸는데에 긴장감이 없어지는 것 같았다. 시간 제한이 있는 것도 아니고, 내가 풀고 싶은 시간 아무때나, 난이도를 자유롭게 골라서 풀면 되는 점이 오히려 역효과로 작용했다.이 역효과에 대해 좀 더 자세히 설명하자면 내 컨디션에 맞춰서 문제 풀이가 느슨해진다는 점이다. 매일 어려운 문제, challenging 한 문제, 새로운 알고리즘에 도전해야 실력이 빨리 늘텐데 앞으로 나아가기 보다 쉬운 문제를 풀면서 제자리에 안주하는 느낌이 들기 시작했다. 다른 사람들이 웰노운이라고 말하는 것조차 다 소화하지 못했는데도 피곤하다는 이유나 시간이 모자라다는 이유 등으로 새로운 것을 배우는데에 게을러졌다.그래서 방학이기도 하니 CP를 다시..
23년 1학기 PS 회고록
·
PS 기록
종강 기념으로 23년 1학기 (학기 병행) PS 회고록을 쓴다. 23.02.28 기준 165 문제를 solved, 현재 23.06.29 기준 347 문제를 해결했다 한 학기 (3월-6월) 동안 347-165=182 문제를 풀었다! 다행이도 개강 전에 세웠던 소소한 목표는 모두 달성했다. 1. 종강 전에 G2 달성 -- completed! 2. 스트릭 Day 100+ 달성, 유지 -- completed! 솔직하게 말해서, 1학기를 돌아보니 아쉬운 점이 너무 많다. 학교 생활에서 아쉬운 점도 물론 있지만, PS 중심으로 내 성취를 다시 돌아보았을 때 너무 많이 아쉬운 게 있어서 이를 차근차근 정리해보려고 한다. 아쉬운 점 1. 새로운 알고리즘을 많이 소화하지 못한 것 - 알고리즘 수업에서 Backtracki..
9. 접근 제어자
·
Java Spring
1. 클래스 멤버에 대한 접근 제어자 접근 제어자는 클래스의 멤버(변수, 메소드) 들의 접근 권한을 지정한다. 사용자가 접근하면 안되거나, 접근할 필요가 없는 멤버들에 적절한 접근 제어자를 설정해줘야 한다. 아래 코드를 보면 public 으로 선언된 메소드는 다른 클래스에서 호출할 수 있다. 그러나 private 으로 선언된 z는 다른 클래스에서 호출할 수 없다. private은 본인이 속한 클래스 밖에서 호출하면 안되고, 클래스 내부에서만 호출이 가능하다. 이런 클래스는 내부적으로 사용하면 된다. public String x 메소드를 보면, return z(); 하는 것을 볼 수 있다. 다른 클래스에서 x를 실행하여, 해당 클래스 내부에서 z를 되돌려준다면 z를 사용할 수 있다. (아래 결과 참조) 이..
8. Overriding & Overloading
·
Java Spring
1. Overriding 상속은 상위 클래스의 기능을 하위 클래스로 물려주지만, 하위 클래스에서 상속받은 기능을 항상 그대로 쓴다면 불편할 것이다. 하위 클래스가 상위 클래스에게 상속받은 기능을 수정할 수 있는 방법을 바로 메소드 오버라이딩(Overriding)이라고 한다. 아래 예시 코드의 결과를 보면, 상위 클래스의 sum( ) 함수가 아니라, 하위 클래스의 sum( ) 함수가 실행된 것을 볼 수 있다. class Calculator { int left, right; public void setOprands(int left, int right) { this.left = left; this.right = right; } public void sum() { System.out.println(this.le..
7. 상속과 생성자
·
Java Spring
1. 상속 상속은 객체 지향의 재활용성을 극대화 시킨 프로그래밍 기법이다. 상속이란, 어떤 객체가 있을 때 그 객체의 변수(필드)와 메소드를 다른 객체가 물려받을 수 있게 하는 기능이다. 기존의 객체를 유지하면서 어떤 기능을 추가하고 싶을 때 상속을 통해 자식 클래스를 만든다. 상속을 통해 코드의 중복을 제거하고(똑같은 기능을 가진 클래스를 또 만들지 않아도 된다), 기존의 부모 클래스를 개선할 경우에, 자식 클래스에도 그 혜택이 돌아간다. 결과적으로 상속의 효과는 다음과 같다. => 재활용성 증가 + 코드 중복 제거 + 유지보수 편리성 2. 생성자 기본 생성자 : 매개변수가 있는 생성자가 있을 때, 기본적으로 생성자를 만들어 주지 않는다. 없을 때는 가능하다. super ( ) : super 키워드는 ..