분류 전체보기 65

Codeforces Round 923 (Div. 3) upsolve

A. Make it White 흰색 타일(W)과 검정색 타일(B) 두 개가 일렬로 쭉 주어지는데, 일자로 한 번 칠해서 모두 흰색으로 바꾸려고 한다. 여기서 칠해야하는 min length를 구하는 문제. B가 처음 나오는 위치 ~ B가 마지막으로 나오는 위치를 찾아 길이를 출력하면 된다. import sys input = sys.stdin.readline T = int(input()) for i in range(T): n = int(input()) st = list(input().rstrip()) res_min = n res_max = 0 for s in range(n): if st[s] == 'B': res_min = min(s, res_min) res_max = max(s, res_max) print..

PS 기록/CP 2024.02.14

700솔 기념

딱히 의식하지 않고 평소처럼 문제를 하나 풀었는데 700솔에 레이팅도 1800으로 딱 떨어져서 신기했다. 전부터 쭉 생각해온게, 확실히 PS 할 때 마음 붙일 곳이 있으면 혼자 하는 것보다 훨씬 나은 것 같다. 공부 자극도 받고 동기부여도 되고 나보다 실력이 압도적으로 좋으신 분들에게 양질의 피드백도 받을 수 있다. 주변에 좋은 분들이 많으셔서 질문 하면 우다다 달려와서 대답해주시는 분들이 많은 것 같다. 또한, 항상 작은거에도 칭찬해주시는 우리 스터디 그룹원들에게도 감사드린다..!! 고수분들이 이룬 것에 비하면 별거 아닌 자취일수도 있지만 뉴비들도 힘이 나게 응원해주신다. 그래서 어떤 문제나 특정 알고리즘에 막혔을 때 좌절하기 보다 좀 더 문제를 붙들고 이리저리 시도해보는 태도를 갖출 수 있었다. 이제..

PS 기록 2024.02.11

오묘한 세계와 근황

동일한 코드를 냈는데 50점과 100점이 속도에서 갈리나보다.. 처음에 pypy로 낼지 고민하다가 혹시 메모리 터질까봐 안전빵으로 python3으로 돌렸는데 일케 됐다.. 오묘한 파이썬의 세계.. 요즘들어 자꾸 고민이 된다. 파이썬 한 우물을 딥하게 팔지 아니면 다른 분들처럼 그냥 C++으로 완전히 전향할지? 솔직히 코테에서는 파이썬이 쉽고 간단하기 때문에 쉽사리 결정할 수 없는 것 같다. 그냥 지금처럼 둘 다 붙잡는 방향으로 가야하나? 최근에 Grand Arena onsite를 다녀온 이후로 열심히 해야겠단 의욕이 생겼다. 내가 그동안 얼마나 연습을 안했는지 뼈져리게 느꼈고 학기 중에 진짜 쉬운 문제들만 풀어서 그런가.. 열심히 공부했던 과거의 노력이 소실된 느낌이 들었다. 그래서 다시 차근차근 속도를..

Daily 2024.02.10

Solved.ac Grand Arena Party Div 2. (Onsite) 후기 [24.02.03]

첫 오프라인 개인 대회를 solved.ac에서 주최하는 그랜드 아레나 파티로 시작하게 되었습니다! 무척 특별하고 의미있는 경험이라서 후기를 적어봅니다.학기 중에 스케줄도 많고 졸업 준비를 하느라 바쁜 와중에 오프라인 대회를 경험하고 싶어서 아레나에 자주 참여했습니다. 아마 개근은 못했을텐데 자주 참여한 덕분에  5회 이상 참가 조건(맞나?)으로 초청받을 수 있었습니다.PS를 하면서 오프라인에 아는 분이 있는 것도 아니고, CP에 자신이 있는 것도 아니고... 경험도 부족한 제가 왜 이렇게 PS에 동기부여가 됐는지는 모르겠지만 Solved.ac 를 통해서 PS에 더 쉽게 접근할 수 있었고 여기까지 오게 된 것 같습니다! (무한한 감사를 드립니다...)처음 초청 메일을 받았을 땐 깜짝 놀랐고, 딱히 아는 분..

PS 기록/CP 2024.02.06

[신촌 ICPC 알고리즘 캠프] 최단거리 알고리즘 (24.01.22)

해당 수업에서 최단거리를 구하는 여러 가지 알고리즘에 대해 간단히 리뷰했다. 0-1 BFS, 다익스트라, 벨만포드 정도를 간단하게 알려주셨다. 직접 해당하는 알고리즘의 문제를 풀면서 배운 점을 적어놓으려고 한다. 13549 - 숨바꼭질 3 (G5)https://www.acmicpc.net/problem/13549이 문제는 아마도 저번 여름 캠프때 나왔던 것 같다. 이미 풀려있는 문제여서 다시 C++으로 풀어보면서 재제출했다.사실 내게 다익스트라는 골드 하위 문제 날먹 알고리즘 정도였는데.. 한 때 스트릭 용으로 G4~G5 정도의 기본 다익 문제만 푼 적이 있다. 그런데 이렇게 연습해도 응용 문제가 되면 헷갈리는 것 같다. 아직 경험이 부족해서 그런가보다. 그래프의 형태가 기본 그래프와 달라지거나, 특수한..

PS 기록/Algorithm 2024.01.23

알고리즘 스터디 기록 24.01.06

23년 여름 대회 참가를 위해서 급조(?)한 팀이 같은 뜻을 가지고 오래 지속되어 기쁘다. 대회 이후에도 쭉 같이 스터디를 하고 내용을 기록하고 있다. 다만 블로그에 전부 올리기는 무리라서.. 지금까지 한 번도 안올렸는데, 중간 점검 차원에서 블로그에 포스팅하게 되었다. 아무래도 우리 학교는 알고리즘보다 개발 동아리/개발쪽 행사들이 메인인 분위기라서 같이 알고리즘 공부할 사람을 찾는 게 어렵다. 그나마 찾으려고 하면 거의 졸업할 때 쯤 코테를 준비하느라 효율적으로 몇문제 푸시는 분들 정도? 그동안 교내 자율 스터디에 조금씩 참여했었는데 다들 하루 한문제 인증만 하는 식이고, 알고리즘에 대해서 더 공부하거나 같이 이야기를 나누거나 하는 일은 없었다. 아무래도 알고리즘에 재미를 붙이고 쭉 이어나가는 사람은 ..

PS 기록/Algorithm 2024.01.07

[2주차] 자동차 경주 미션 refactoring & 회고록 (~ing)

더보기 1주차 미션은 시험 기간 이슈로 시간이 부족해서 완성도가 높지 않고, 코드 리뷰도 충분히 하지 못했기 때문에 2주차 미션부터 회고록을 작성한다! PR 링크 https://github.com/woowacourse-precourse/java-racingcar-6/pull/2096 [자동차 경주] 강진주 미션 제출합니다. by Pearl-K · Pull Request #2096 · woowacourse-precourse/java-racingcar-6 github.com 2주차 목표와 앞으로 3주차 목표를 간단하게 정리하자. 앞으로 이 부분을 염두에 두고 다음 프로젝트를 진행해야 한다. 2주차 1. 함수를 분리하기 2. 각 함수별로 테스트를 작성하는 것 3주차 1. 클래스(객체)를 분리하는 연습 2. 도..

[넥토리얼, 채용의나라] - 게임 프로그래머가 되려면?

23.10.14 - 넥토리얼(채용의 나라) : 게임 프로그래머가 되려면? 해당 세션의 내용을 듣고 제 나름대로 이해하여 정리한 내용을 업로드했습니다. 먼저, 해당 세션의 연사분께서 넥슨 전체의 의견이 아니라 본인의 기준이라고 언급하셨으므로 참고 부탁드립니다! 1. 게임 프로그래머의 마음가짐 기획 설계, 아트 디자인에 맞춰서 기존에 계획된 것을 만든다. 조직의 규모가 커질수록 프로그래머의 역할이 제한된다.(원하는 것을 하지 못해서 상처입거나, 적응 어려울 수 있다) (위 항목과 연결) 내가 원하는 게임을 만들 수 없다는 생각이 들 수 있다. 프로그래머는 다른 직군의 꿈을 (기술을 통해) 현실로 만들어주는 사람이다. 2. 신입 프로그래머에게 기대하는 것 새싹 두뇌 : 배운 것을 잘 흡수 할 수 있는 능력을 ..

IT -취업 DB 2023.10.17

[Kotlin Study] 5. 프로젝트 구조 알아보기

app 프로젝트 안에 있는 다양한 파일, 옵션 구조를 알아보기 1. manifests 이 안에는 AndroidManifest.xml 파일이 들어있다. 라는 태그 안에 app에 대한 기본 설정이 쓰여있다. 이전에 스프링 프로젝트에서 xml 파일을 설정했었는데 그 때와 비슷한 것 같다. 2. java MainActivity 디폴트 코드가 설정되어 있고, 여기에서 코드를 수정, 추가하면서 app을 제작한다. 안에 test 폴더가 존재하는데, (test) (androidTest) 두 가지 옵션의 폴더가 각각 존재한다. test는 일반적인 unit test를 위한 폴더이고, androidTest 는 안드로이드 화면을 켜고 3. res app 안에서 사용하는 리소스들을 모아놓은 폴더이다. drawable : app..

Kotlin 2023.10.12

[Kotlin Study] 4. 안드로이드 앱 화면 - 액티비티 컴포넌트

1. 액티비티 안드로이드 앱의 기본 구조는 컴포넌트를 기반으로 한다. 액티비티, 서비스, 브로드캐스트 리시버, 콘텐츠 프로바이더 등과 같은 여러 가지 컴포넌트를 적절하게 조합해서 만든다. 이 중 화면을 출력하는 컴포넌트는 "액티비티"뿐이므로, 앱에서 화면을 출력하고 싶으면 액티비티를 만들고, 여기서 출력한 내용을 화면에 띄운다고 생각하면 된다. 액티비티는 화면을 출력하는 컴포넌트이고, 그 자체가 화면이 아니므로 여기에 적절한 화면을 구성해서 출력해야 한다. 이 기능은 view 클래스를 이용해 구성할 수 있다. e.g. 문자열 출력 TextView, 이미지 출력 ImageView 클래스를 이용할 수 있다 2. 액티비티 코드로 화면 구성 액티비티 컴포넌트에서 뷰로 화면을 구성하는 방법에는 2가지가 있다. 액..

Kotlin 2023.10.03