분류 전체보기 415

[BOJ] 백준 2529 부등호 - Java 풀이

최근에 백준을 풀던 중 꽤 흥미로운 문제를 발견했다. 시간이 오래걸리기도 했는데 과정에서 꽤 재미를 느꼈다. 또한 배울점이 많은 코드라는 생각이 들어서 첨부했다. 조금 어렵다는 생각이 들기도 했는데 문제 자체가 굉장히 흥미로워서 그냥 붙잡고 불었다. 원래 좀 어려운 문제를 만나면 약간의 스트레스가 생기기 마련인데 이 문제는 그냥 재밌는 문제다. 다른 분들도 이 문제는 꼭 답지 보지 말고 풀어봤으면 한다. 백트래킹 문제인데 부루트포스도 같이 사용해서 풀 수 있는 문제이다. 문제는 아래와 같다. 문제 링크: https://www.acmicpc.net/problem/2529 자 간단하게 dfs 순회하면서 모든 가능한 경우의 대해서 돌아보면 된다. 물론 백트래킹 특성에 따라서 특정 조건에 따라서 가지치기하는 조..

[개발 동아리] GDSC 1기 합격 후기 (Google Developer Student Clubs)

우리 학교에서 진행하는 GDSC 1기에 합격했다. 면접을 보고 나서 떨어졌다고 생각했는데 며칠 뒤 Lead 님으로부터 온 메시지를 받고나서야 붙었다는걸 실감했다. GDSC에서는 스터디, 프로젝트 진행과 솔루션 챌린지를 하게 된다고 한다. 솔루션 챌린지에 대한 정보가 없었는데 찾아보니 지정된 몇가지 이슈에 대한 프로젝트를 진행한다고 한다. 환경, 에너지 등등 다양한 이슈가 주제로 나올 수 있다고 한다. 무엇보다 좋았던 것은 기술에 대해 자유롭게 말할 수 있는 공간이 생긴 점이다. 의견을 말하고 피드백을 받을 수 있는 공간이 필요했었는데 GDSC가 그 역할을 해줄 수 있다는 생각이 들었다. 다른 개발자들은 어떤 것을 공부하고 있고 기술에 대해 어떻게 생각하는지 항상 궁금했었다. 평소 기술에 대한 최신 정보를..

[Gradle] 일반 Java 프로젝트 진행 중 Gradle 로 프로젝트 변환하기

아래 블로그에서 도움을 받았다. 감사합니다. 는 아니고 임의로 gradle 파일들 설정하다가 완전 꼬여버렸다. 그냥 Gradle 프로젝트 새로 파서 거기로 옮겨주자. https://pmandocom.tistory.com/102 [JAVA] IntelliJ - 일반 JAVA 프로젝트를 Gradle 프로젝트로 변환하기 & Java file out of source root 오류 해결 공식 홈페이지를 참고했다. 1. 프로젝트 폴더에 build.gradle을 생성한다. 2. build.gradle에 다음의 내용을 넣는다. plugins{ id 'java' } group 'org.example' version '1.0-SNAPSHOT' repositories { mavenCen.. pmandocom.tistory..

카테고리 없음 2022.09.29

[Git] Hyper-v 설정 적용 이후 Git push 에러

최근 실습때문에 Hyper-v 를 on으로 바꿀 일이 있었는데 이후에 코딩을 하던 중 git push origin main이 먹히질 않는 문제를 발견했다. 보기에는 단순히 로그인 access가 만료되었다고 떠서 다시 로그인하면 될 것 같은데 사실 문제는 그게 아니다. Hyper-v를 켜둬서 문제가 생긴거다. 왜 Hyper-v가 영향을 준건진 모르겠지만 방금 확실하게 테스트해본 결과 Hyper-v를 켜두면 git push 가 안먹히고 Hyper-v를 꺼두니 이제서야 git push 가 잘 먹힌다. 어떤 연관관계가 있을까. 지금은 모르겠다. 확실한건 도커든 뭐든 간에 뭘쓰다가 이상하다 싶으면 혹시 며칠전에 Hyper-v 관련해서 작업해본 적이 있었는지 떠올려보면 될 것 같다.

[SW] SOLID 원칙이란 무엇인가?

SOLID 원칙이란 무엇인가? SRP (Single responsibility principle): 단일 책임 원칙이다. 즉 클래스는 하나의 책임만 가져야 한다는 뜻이다. OCP (Open/closed principle): 개방-폐쇄 원칙이다. 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다는 뜻이다. LSP (Liskov substitution principle): 리스코프 치환 원칙으로 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다는 뜻이다. ISP (Interface segregation principle): 인터페이스 분리 원칙이다. 특정 클라이언트를 위한 인터페이스 여러 개가 범용 인터페이스 하나보다 낫다는 뜻이다. DIP ..

개발 팁 2022.09.18

[LeetCode] LeetCode 1576. Replace All ?'s to Avoid Consecutive Repeating Characters - python3

간만에 재밌는 문제를 만났다. 1576. Replace All ?'s to Avoid Consecutive Repeating Characters 문제인데 문제 자체도 재밌고 풀이 방식을 보던 중 꽤나 기발한 접근법을 보게 되어서 인상깊어서 기록해둔다. 우선 문제 링크는 아래와 같다. https://leetcode.com/problems/replace-all-s-to-avoid-consecutive-repeating-characters/ Replace All ?'s to Avoid Consecutive Repeating Characters - LeetCode Level up your coding skills and quickly land a job. This is the best place to expan..

[LeetCode] LeetCode 1572 - matrix-diagonal-sum - Python3

최근 심심해서 리트코드 문제를 몇개 풀었는데 그 중 재밌는 문제가 몇개 있어서 정리해본다. 1572번 문제이다. EASY인데 첫번째 솔루션에 비해서 코드를 꽤나 효율적으로 개선해서 정리해볼 필요가 있다고 생각해서 적어둔다. 일단 아래는 첫번째 제출한 솔루션이다. 꽤나 비효율적이라는걸 알 수 있다. 일단 for loop 이 두개 있다는것부터 비효율적이다. ''' Runtime: 207 ms, faster than 24.29% of Python3 online submissions for Matrix Diagonal Sum. Memory Usage: 14.1 MB, less than 57.39% of Python3 online submissions for Matrix Diagonal Sum. ''' class..

[인턴] 하계 인턴 계약 만료. 다시 학교로 돌아가다.

두 달간의 인턴 기간이 오늘부로 끝났다. 오늘까지 두 달간의 기간 동안 많은 일들을 해보았다. 처음에 자바 안드로이드 라이브러리 개발로 지원했는데 면접 당시 옆에 계신 분께서 파이썬과 장고를 활용한 백엔드 개발 포지션을 추천해주셔서 응하게 된 것이 계기였다. 솔직히 말해서 오히려 좋았다. 원했던 포지션이 아니었음에도 뭐가 되었든 백엔드 개발을 할 수 있다는 점이 마음에 들었다. 이곳에서 일하면서 가장 좋았던 점은 만났던 사람들이라는 생각이 든다. 밥도 같이 먹고 오후 근무 시작전까지 많이 떠들었다. 물론 당연히 기술적으로도 많은 걸 배우고 경험할 수 있었다. 실수를 해서 다행이라는 생각이 들었다. 그 부분에서 문제가 나타나지 않았더라면 언젠가 더 큰 장애로 이어졌을 수도 있었겠다는 생각이 들었고 동시에 ..

개발 활동 2022.08.26
반응형