700솔 기념
·
PS 기록
딱히 의식하지 않고 평소처럼 문제를 하나 풀었는데 700솔에 레이팅도 1800으로 딱 떨어져서 신기했다. 전부터 쭉 생각해온게, 확실히 PS 할 때 마음 붙일 곳이 있으면 혼자 하는 것보다 훨씬 나은 것 같다. 공부 자극도 받고 동기부여도 되고 나보다 실력이 압도적으로 좋으신 분들에게 양질의 피드백도 받을 수 있다. 주변에 좋은 분들이 많으셔서 질문 하면 우다다 달려와서 대답해주시는 분들이 많은 것 같다. 또한, 항상 작은거에도 칭찬해주시는 우리 스터디 그룹원들에게도 감사드린다..!! 고수분들이 이룬 것에 비하면 별거 아닌 자취일수도 있지만 뉴비들도 힘이 나게 응원해주신다. 그래서 어떤 문제나 특정 알고리즘에 막혔을 때 좌절하기 보다 좀 더 문제를 붙들고 이리저리 시도해보는 태도를 갖출 수 있었다. 이제..
Solved.ac Grand Arena Party Div 2. (Onsite) 후기 [24.02.03]
·
PS 기록/CP
첫 오프라인 개인 대회를 solved.ac에서 주최하는 그랜드 아레나 파티로 시작하게 되었습니다! 무척 특별하고 의미있는 경험이라서 후기를 적어봅니다.학기 중에 스케줄도 많고 졸업 준비를 하느라 바쁜 와중에 오프라인 대회를 경험하고 싶어서 아레나에 자주 참여했습니다. 아마 개근은 못했을텐데 자주 참여한 덕분에  5회 이상 참가 조건(맞나?)으로 초청받을 수 있었습니다.PS를 하면서 오프라인에 아는 분이 있는 것도 아니고, CP에 자신이 있는 것도 아니고... 경험도 부족한 제가 왜 이렇게 PS에 동기부여가 됐는지는 모르겠지만 Solved.ac 를 통해서 PS에 더 쉽게 접근할 수 있었고 여기까지 오게 된 것 같습니다! (무한한 감사를 드립니다...)처음 초청 메일을 받았을 땐 깜짝 놀랐고, 딱히 아는 분..
[신촌 ICPC 알고리즘 캠프] 최단거리 알고리즘 (24.01.22)
·
PS 기록/Algorithm
해당 수업에서 최단거리를 구하는 여러 가지 알고리즘에 대해 간단히 리뷰했다. 0-1 BFS, 다익스트라, 벨만포드 정도를 간단하게 알려주셨다. 직접 해당하는 알고리즘의 문제를 풀면서 배운 점을 적어놓으려고 한다. 13549 - 숨바꼭질 3 (G5)https://www.acmicpc.net/problem/13549이 문제는 아마도 저번 여름 캠프때 나왔던 것 같다. 이미 풀려있는 문제여서 다시 C++으로 풀어보면서 재제출했다.사실 내게 다익스트라는 골드 하위 문제 날먹 알고리즘 정도였는데.. 한 때 스트릭 용으로 G4~G5 정도의 기본 다익 문제만 푼 적이 있다. 그런데 이렇게 연습해도 응용 문제가 되면 헷갈리는 것 같다. 아직 경험이 부족해서 그런가보다. 그래프의 형태가 기본 그래프와 달라지거나, 특수한..
알고리즘 스터디 기록 24.01.06
·
PS 기록/Algorithm
23년 여름 대회 참가를 위해서 급조(?)한 팀이 같은 뜻을 가지고 오래 지속되어 기쁘다. 대회 이후에도 쭉 같이 스터디를 하고 내용을 기록하고 있다. 다만 블로그에 전부 올리기는 무리라서.. 지금까지 한 번도 안올렸는데, 중간 점검 차원에서 블로그에 포스팅하게 되었다. 아무래도 우리 학교는 알고리즘보다 개발 동아리/개발쪽 행사들이 메인인 분위기라서 같이 알고리즘 공부할 사람을 찾는 게 어렵다. 그나마 찾으려고 하면 거의 졸업할 때 쯤 코테를 준비하느라 효율적으로 몇문제 푸시는 분들 정도? 그동안 교내 자율 스터디에 조금씩 참여했었는데 다들 하루 한문제 인증만 하는 식이고, 알고리즘에 대해서 더 공부하거나 같이 이야기를 나누거나 하는 일은 없었다. 아무래도 알고리즘에 재미를 붙이고 쭉 이어나가는 사람은 ..
[넥토리얼, 채용의나라] - 게임 프로그래머가 되려면?
·
IT - 취업 DB
23.10.14 - 넥토리얼(채용의 나라) : 게임 프로그래머가 되려면? 해당 세션의 내용을 듣고 제 나름대로 이해하여 정리한 내용을 업로드했습니다. 먼저, 해당 세션의 연사분께서 넥슨 전체의 의견이 아니라 본인의 기준이라고 언급하셨으므로 참고 부탁드립니다! 1. 게임 프로그래머의 마음가짐 기획 설계, 아트 디자인에 맞춰서 기존에 계획된 것을 만든다. 조직의 규모가 커질수록 프로그래머의 역할이 제한된다.(원하는 것을 하지 못해서 상처입거나, 적응 어려울 수 있다) (위 항목과 연결) 내가 원하는 게임을 만들 수 없다는 생각이 들 수 있다. 프로그래머는 다른 직군의 꿈을 (기술을 통해) 현실로 만들어주는 사람이다. 2. 신입 프로그래머에게 기대하는 것 새싹 두뇌 : 배운 것을 잘 흡수 할 수 있는 능력을 ..
[Kotlin Study] 5. 프로젝트 구조 알아보기
·
Kotlin
app 프로젝트 안에 있는 다양한 파일, 옵션 구조를 알아보기 1. manifests 이 안에는 AndroidManifest.xml 파일이 들어있다. 라는 태그 안에 app에 대한 기본 설정이 쓰여있다. 이전에 스프링 프로젝트에서 xml 파일을 설정했었는데 그 때와 비슷한 것 같다. 2. java MainActivity 디폴트 코드가 설정되어 있고, 여기에서 코드를 수정, 추가하면서 app을 제작한다. 안에 test 폴더가 존재하는데, (test) (androidTest) 두 가지 옵션의 폴더가 각각 존재한다. test는 일반적인 unit test를 위한 폴더이고, androidTest 는 안드로이드 화면을 켜고 3. res app 안에서 사용하는 리소스들을 모아놓은 폴더이다. drawable : app..
[Kotlin Study] 4. 안드로이드 앱 화면 - 액티비티 컴포넌트
·
Kotlin
1. 액티비티 안드로이드 앱의 기본 구조는 컴포넌트를 기반으로 한다. 액티비티, 서비스, 브로드캐스트 리시버, 콘텐츠 프로바이더 등과 같은 여러 가지 컴포넌트를 적절하게 조합해서 만든다. 이 중 화면을 출력하는 컴포넌트는 "액티비티"뿐이므로, 앱에서 화면을 출력하고 싶으면 액티비티를 만들고, 여기서 출력한 내용을 화면에 띄운다고 생각하면 된다. 액티비티는 화면을 출력하는 컴포넌트이고, 그 자체가 화면이 아니므로 여기에 적절한 화면을 구성해서 출력해야 한다. 이 기능은 view 클래스를 이용해 구성할 수 있다. e.g. 문자열 출력 TextView, 이미지 출력 ImageView 클래스를 이용할 수 있다 2. 액티비티 코드로 화면 구성 액티비티 컴포넌트에서 뷰로 화면을 구성하는 방법에는 2가지가 있다. 액..
[웹 애플리케이션 개발] WordController 수정, word 정보를 js를 통해 전달하는 API 만들기 (~ing)
·
Java Spring
내가 앞으로 해야 할 일 1. WordController 수정 : 수정하여 word 정보를 주고 받을 수 있도록 mapping이 필요하다. (RESTful API) @RestController @RequestMapping("/api/words") public class WordController { @Autowired private WordService wordService; @GetMapping("/{month}/{day}") public ResponseEntity getWordsByMonthAndDay( @PathVariable int month, @PathVariable int day ) { try { List words = wordService.findByMonthAndDay(month, day)..
[Kotlin Study] 3. 객체지향 프로그래밍의 4가지 특징
·
Kotlin
1. 추상화 : 공통점과 본질을 모아서 추출 2. 상속 : 기존의 클래스를 재활용 3. 다형성 : 어떤 객체의 속성이나 기능이 상황에 따라 여러 가지 형태나 성질을 가질 수 있다. (Overriding, Overloading 등을 사용) 4. 캡슐화 : 서로 연관있는 것들을 묶어서 외부로부터 보호함. 외부의 접근을 방어하고 정보 보안을 지킨다. 접근 제한자를 사용하여 캡슐화를 한다. 클래스 코드 연습 fun main() { val car1 = Car("Red", "Benz", 10) val car2 = Car("Blue", "Hyundai", 5) } class Car(val color : String, val name : String, val age : Int){ //주 생성자 init { printl..
[Kotlin Study] 2. 컬렉션
·
Kotlin
컬렉션이란? : 자료구조를 쉽게 사용할 수 있도록 코틀린에서 제공하는 클래스이다. 타입을 2가지로 나눌 수 있다. - Mutable : 변함, 읽기, 삽입, 삭제, 수정 가능 - Immutable : 불변, 읽기 전용 1. List 순서가 있는 자료구조이다. 타입에 따라 선언 방법이 조금 달라진다. fun main() { // 1. immutable val fruitList = listOf("Apple", "Berry", "Melon") println("fruit : ${fruitList[1]}") // 2. mutable val mutable = mutableListOf("Apple", "Berry", "Melon") mutable[0] = "PineApple" println("New First : $..