inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

이야기를 나눠요

173만명의 커뮤니티!! 함께 토론해봐요.

코딩 테스트가 처음이라..

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

삭제된 글입니다

  • python
  • 코딩-테스트
  • 알고리즘
요소섹시 댓글 1 좋아요 0 조회수 360

공부 방법에 대해서 질문 드립니당..

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

이번 주 일요일에 코테를 봅니다ㅜㅜ 특정 알고리즘이 아닌 구현 문제는 어떤 식으로 공부하는 게 좋을까요? 시뮬레이션 문제라든가... 선생님 강의를 보면 의식의 흐름대로 따라갈 때에는 일리가 있고, 정답으로 가는 길이긴 한데, 막상 문제에 진입하게 되면 어떻게 그 규칙을 발견해야할지 모르겠습니다.. 특히 DP의 점화식을 세우는 것. 어떻게 연습해야할까요 ㅜㅜ

  • python
  • 코딩-테스트
  • 알고리즘
신영식 댓글 1 좋아요 0 조회수 418

최적화(정수론) 21분 22초

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

176~177 사이의 2의 제곱수로 나누어지는 약수를 모두 찾는 문제입니다. 176은 16으로 나누어 떨어지고, 177은 1로 나누어 떨어지니 16+1이 답이라고 하셨는데... 저는 이 논리 전개 자체가 이해가 되지 않습니다. 어떻게 16 + 1이 나오는지 알려주시면 감사하겠습니다ㅜ

  • python
  • 코딩-테스트
  • 알고리즘
김철세 댓글 1 좋아요 0 조회수 528

완전 탐색 강의 출시일 관련

[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편

안녕하세요! 자바 DFS 강의 리뷰에서 9월 내 완전 탐색 강의를 오픈할 계획(?)이라는 답변 주신 것을 봤던 것 같습니다. 혹시 자바 강의 뿐만 아니라 파이썬 강의도 9월 내에 오픈하실 계획이신가요??

  • python
  • 코딩-테스트
  • 알고리즘
  • dfs
  • python3
도토리 댓글 1 좋아요 1 조회수 421

오우 레드블랙 트리부터 너무 어려운데..

그림으로 쉽게 배우는 자료구조와 알고리즘 (심화편)

이럴때는 감자선생님께서 말씀하셨던것처럼 일단 수업듣고 아 그렇구나 하고 지나 치는게 맞을까요 ?

  • 알고리즘
배성환 댓글 1 좋아요 0 조회수 322

코린이 고민있습니다

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

안녕하세요! 이제 막 코테를 준비하는 학생입니다! 완전탐색 부분을 영상으로 보고있는데, 약15~20분 정도 고민해봐도 접근법이 떠오르지 않으면 솔루션을 확인해봐도 괜찮을까요? 접근법이 도저히 떠오르지 않아 속상합니다 ㅠㅠ

  • python
  • 코딩-테스트
  • 알고리즘
용가리용용 댓글 1 좋아요 0 조회수 330

이해가 안되면 그냥 넘어가야 하나요 ?

그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)

안녕하세요 강사님 강의 듣고 있는 학생입니다. 자료구조 기본편인데도 구현 부분에서 계속 계속 봐도 이해가 안되는 부분이 많네요. 10분 짜리를 한 시간 넘게 돌려볼 때도 있고 그렇게 해도 잘 이해가 안되는 부분은 일단 넘어가야 할까요?

  • 알고리즘
fhpopo 댓글 1 좋아요 1 조회수 448

안녕하세요 선생님 :)

나도코딩의 자바 기본편 - 풀코스 (20시간)

삭제된 글입니다

  • java
  • 객체지향
갈색곰 댓글 1 좋아요 0 조회수 1643

문제 풀이

[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편

삭제된 글입니다

  • java
  • 코딩-테스트
  • 알고리즘
  • dfs
연두부 댓글 1 좋아요 1 조회수 451

사용하시는 에디터?

코딩테스트 [ ALL IN ONE ]

사용하고 계시는 에디터가 뭘까요?

  • python
  • 코딩-테스트
  • 알고리즘
이대영 댓글 1 좋아요 0 조회수 396

만료된 메서드 fetchResult(), Blaze-persistence 세팅 관련 글 공유드립니다.

실전! Querydsl

QueryDSL 내부 메소드 중 fetchResult() 나 fetchCount()는 만료된 메소드에 대해서는 QueryDSL에서 Blaze-persistence Integration 라이브러리 사용을 권장 하는데요, Blaze-persistence도 QueryDSL 처럼 쿼리 빌더 API 로서 개발자에게 유지보수하기 좋은 객체를 제공해주고 있습니다. 게다가 최신 업데이트 날짜가 글 작성일 기준(2023.06.21) 일주일 이전이라 여전히 유지보수되고 있어서 최신 스프링버전과 호환성도 어느정도 보장되었다고 볼 수 있습니다. 개인적으로 SpringBoot 3.1.0 기준으로 다음과 같이 세팅하니 정상적으로 동작하는 걸 확인했는데요, 혹시 저처럼 deprecated 메소드를 쓰는 것이 신경쓰이시는 분들을 위해 공유드립니다. build.gradle dependencies { //Blaze-Persistence implementation 'com.blazebit:blaze-persistence-integration-querydsl-expressions-jakarta:1.6.9' implementation 'com.blazebit:blaze-persistence-integration-hibernate-6.2:1.6.9' implementation 'com.blazebit:blaze-persistence-core-impl-jakarta:1.6.9' } BlazePersistenceConfiguration.java @Configuration public class BlazePersistenceConfiguration { @PersistenceUnit private EntityManagerFactory entityManagerFactory; @Bean @Scope(ConfigurableBeanFactory.SCOPE_SINGLETON) @Lazy(false) public CriteriaBuilderFactory createCriteriaBuilderFactory() { CriteriaBuilderConfiguration config = Criteria.getDefault(); // do some configuration return config.createCriteriaBuilderFactory(entityManagerFactory); } } QuerydslBasicTest.java ..... JPAQueryFactory queryFactory; @Autowired CriteriaBuilderFactory cbf; BlazeJPAQueryFactory blazeQueryFactory; @BeforeEach public void testEntity(){ queryFactory = new JPAQueryFactory(em); // 이건 동시성 문제를 고민하지 않아도 됨, 해결됨 blazeQueryFactory = new BlazeJPAQueryFactory(em, cbf); ..... 적용 결과 기존 QueryDSL 세팅한 것에 추가로 세팅하시면, 만료된 메소드에 대해 Blaze-persistence 객체로 대체되는데요, 기존 querydsl 클래스를 상속 받는 형태여서 QueryDSL이 제공하는 메소드를 그대로 쓸 수도 있습니다. fetchResults는 fetchPage로 바꿔서 사용할 것을 권장하고 있다는 점 참고하시면 될 것 같습니다. 추가로 내부로직이라든지 설명이 더 필요하시다면 Blaze-persistence 릴리즈 노트 와 Blaze Persistence Document 를 참고하시면 좋을 것 같습니다. 이 글에 대해 지적 및 피드백 해주시면 정말 감사하겠습니다. 감사합니다. 여담 및 고민 : 개인적으로 이 라이브러리의 내부로직을 뜯어보면서 분석하고 검증할 수 있는 역량은 부족한지라 분석 및 검증하는 방법에 대해서 팁이라든지, 아니면 blaze-persistence 사용할 시 주의해야할 점이라든지 조언해주실 수 있으시면 정말 감사드립니다. 강의를 듣던 중에 서브쿼리가 발생하는 부분에서는 정상동작하지 않는 것을 발견했습니다. @Test public void findUserDto(){ QMember memberSub = new QMember("memberSub"); List<UserDto> memberDtoList = queryFactory //이건 blazeQueryFactory가 정상 동작하지 않음 .select(Projections.fields(UserDto.class, //생성자 필드 순서에 맞게 변수를 만들어야 한다. member.username.as("name"), // member.age 대신 서브쿼리로 다 최대 나이로 찍고 싶어 ExpressionUtils.as( JPAExpressions .select(memberSub.age.max()) .from(memberSub), "age") )) .from(member) .fetch(); for (UserDto userDto : memberDtoList) { System.out.println("userDto = " + userDto); } } QueryDSL 쿼리 /* select member1.username as name, (select max(memberSub.age) from Member memberSub) as age from Member member1 */ select m1_0.username, (select max(m2_0.age) from member m2_0) from member m1_0 blaze-persistence 쿼리 /* SELECT member1.username AS name, member1.age AS generatedSubquery_1 FROM Member member1 */ select m1_0.username, m1_0.age from member m1_0 blaze-persistence generatedSubquery라 하여, 서브쿼리를 하나의 alias로 처리를 해버렸는데, 후행으로 이 generatedSubquery 에 대한 정의가 따라오질 않습니다... 왜 이런 차이가 나오는지는 모르겠지만 blaze-persistence 활용할 때는 유의해야할 것 같습니다.

  • java
  • jpa
  • querydsl
  • blaze-persistence
말랑한참깨 댓글 0 좋아요 1 조회수 2811

안녕하세요 개발자님

코딩테스트 [ ALL IN ONE ]

대기업을 목표로 코딩 테스트 준비 하고 있는 개발자의 비법 노트까지 열심히 하고 프로그래머스를 통해 1단계는 다 풀고 2단계를 풀려고 하는 취준생 입니다. 비법 노트 공부 방식 문제를 2단계를 해결하니 난이도가 많이 올라가서 손도 못 대고 시간을 보내는 경우가 많습니다.. 나름 기초를 잘 닦아서 1단계를 풀었는데 2단계 부터 공부하는 방법을 바꿔야 할까요.. 너무 막막해서 이렇게 두서 없이 질문 드립니다..좋은 방법 있으면 공유 부탁드립니다.ㅎㅎ

  • python
  • 코딩-테스트
  • 알고리즘
ㅇㅅㅎ 댓글 1 좋아요 1 조회수 567

자료구조와 알고리즘 관련 책 추천해주실 수 있을까요?

그림으로 쉽게 배우는 자료구조와 알고리즘 (기본편)

안녕하세요. 선생님 기본편을 완강했고, 계속 복습할 예정입니다! 심화편도 이제 수강할 예정입니다. 책도 한 권 구매해서 같이 공부하고 싶은데, 추천해주실 수 있을까요? 감사합니다.

  • 알고리즘
이동근 댓글 1 좋아요 1 조회수 7096

수강내용 블로그 정리

코딩테스트 [ ALL IN ONE ]

안녕하세요! 이번에 수강신청한 3년차 개발자입니다. 이번에 코딩테스트를 준비를 하려고 수강을 하게되었는데, 수강 내용에 대해서 개인블로그에 정리해서 게시해도 되는지 여쭤보고자 글 남깁니다. 출처는 꼭 남길 예정입니다. :)

  • python
  • 알고리즘
tlsgn511 댓글 1 좋아요 1 조회수 596

1-D 팰린드롬인지 확인하기 in Swift

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

안녕하세요. C++ 언어가 아닌 Swift 언어로 문제를 풀고 있는 코린이 수강생입니다. 백준 10988번 - 팰린드롬인지 확인하기 를 Swift로 풀 경우 채점 100% 구간에서 계속 "틀렸습니다" 문구가 나오고 있습니다. (반례 없이 잘 작동하고 있습니다... 아마도….) 혹시 저와 같은 문제를 겪었던 학우분들 있을까요?? var str = readLine()!.map{String($0)} let tempStr = str str.reverse() let reverseStr = str if str.count == 1{ print(0) } else{ if tempStr == reverseStr{ print(1) } else{ print(0) } } 혹시 몰라 배열의 원소 하나하나 비교해 보았는데도 계속 틀렸다고 나오고 있네요ㅠ var str = readLine()!.map{String($0)} let tempStr = str str.reverse() let reverseStr = str var tf = false for i in 0..<(str.count/2)+1{ guard str.count != 1 else {print(0); tf = false; break} if tempStr[i] == reverseStr[i]{ tf = true } else{ tf = false print(0) break } } if tf == true{print(1)}

  • c++
  • 알고리즘
  • swift
  • 코테
  • 코딩
민섭 댓글 1 좋아요 0 조회수 827

백엔드 개발자의 방향성에 대해 조언을 얻고자 합니다

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

현재 국비 학원을 수료하며 프로젝트를 마친 뒤에 김영한님 강의를 듣고 있으며 spring에 대해 이제서야 이해하려 하는 취준생입니다. 문득 제가 어떤 개발을 하고 싶은지 방향성에 대해 생각해보게 되었습니다. ->어떤 개발을 하고 싶은지 방향성에 대해 되짚어 보고 있었다 ->SQL문을 짜면서 효율적인 방법은 무엇이 있을까 고민하는 과정이 스스로 가치 있는 고민을 하고 있다는 생각이 들었다. ->데이터 처리 속도 개선에 관하여 고민하는 개발자가 되고 싶다. ->대용량 트래픽을 다루는 서비스 회사에서 성장하고 싶다. 질문 ==> 위의 4문장을 설득력 있게 말하기 위해서 취준에 뛰어드는 예비 백엔드 개발자 수준에서 할 수 있는 "공부 방향"은 무엇이 있을지 조언 해주실 수 있을까요? (특정 개념이나 강의를 추천해주셔도 감사할 것 같습니다. )

  • springboot
  • java
  • spring
  • 백엔드
  • 신입
sky66951 댓글 1 좋아요 3 조회수 5676

누구보다 뛰어난 개발자 되는 법, 하루에 하나씩 CS 정복하기!

https://adevspoon.page.link/XJYS 개발 공부, CS 공부 등등 개발자가 되기까지 해야할 공부가 너무 많지 않나요? 개발자 취업, 면접, 이직 어떻게 준비해야할지, 비전공 개발자인데 어디서부터 시작해야할지 모르겠다구요? 개발 한 스푼이 도와드립니다! https://adevspoon.page.link/XJYS 하루에 하나씩 IT 기술면접 질문 제공받고 공부해가며 Computer Science 정복해봐요! 자료구조, 알고리즘, 네트워크, 운영체제, 데이터베이스까지 방대한 CS 지식을 가볍게 차근차근! 질문에 답변하고, 도움이 된 답변을 모아보고, 받은 질문을 모아보며 복습까지. 오늘부터 하루에 딱 하나씩만! 지금 바로 시작해보세요

  • 개발
  • 면접
  • 이직
  • 취업
  • cs
  • 자료구조
  • 알고리즘
  • 운영체제
  • 네트워크
  • 데이터베이스
신재우 댓글 0 좋아요 0 조회수 1312

QueryDsl SpringBoot 2.7의 gradle 설정을 공유합니다.

실전! Querydsl

plugins { id 'org.springframework.boot' version '2.7.4' id 'io.spring.dependency-management' version '1.0.14.RELEASE' id 'java' } group = 'study' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' // queryDSL 설정 implementation "com.querydsl:querydsl-jpa" implementation "com.querydsl:querydsl-core" implementation "com.querydsl:querydsl-collections" annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa" // querydsl JPAAnnotationProcessor 사용 지정 annotationProcessor "jakarta.annotation:jakarta.annotation-api" // java.lang.NoClassDefFoundError (javax.annotation.Generated) 대응 코드 annotationProcessor "jakarta.persistence:jakarta.persistence-api" // java.lang.NoClassDefFoundError (javax.annotation.Entity) 대응 코드 } tasks.named('test') { useJUnitPlatform() } // Querydsl 설정부 def generated = 'src/main/generated' // querydsl QClass 파일 생성 위치를 지정 tasks.withType(JavaCompile) { options.getGeneratedSourceOutputDirectory().set(file(generated)) } // java source set 에 querydsl QClass 위치 추가 sourceSets { main.java.srcDirs += [ generated ] } // gradle clean 시에 QClass 디렉토리 삭제 clean { delete file(generated) } 해당 소스는 타사 강의 보다가 본 설정에서 가져왔습니다. 기존 영한님 강의와 다른 점이 3가지 있으니 주의하시기 바랍니다. Querydsl Q파일 생성 위치가 다릅니다. 기존 영한님 강의대로 $build 로 시작하는 설정을 사용하면 테스트 실행 시 Q파일의 위치를 찾지 못해서 테스트가 실패합니다. Gradle -> Tasks -> build -> clean Gradle -> Tasks -> build -> build 혹은 classes 기존 영한님 교안에는 빌드 시 Gradle -> Tasks -> other -> compileQuerydsl 로 Q파일을 생성하지만, 이 방법의 경우 other에 해당 메뉴가 없습니다. 그래서 빌드 시에는 그냥 build 메뉴의 build 혹은 classes 로 빌드하시면 Q파일이 생깁니다. 영한님 강의에서는 gradle build 폴더가 대부분 git 버전관리에 포함되지 않으므로 따로 설정할 필요가 없지만, 이 경우 Q파일이 소스폴더에 들어가므로 .gitignore 에 아래와 같이 별도로 경로를 설정해 주어야 합니다. ### Querydsl /src/main/generated 혹시 저같이 청개구리마냥 강의에 나온 버전 사용 안 하고 최신 버전 사용하시는 분들께 도움이 되었으면 좋겠습니다. 저도 타사 강의에서 가져온 것이고 기초 테스트만 통과한 것이라서 혹시 강의에 맞지 않는 경우 영한님이나 다른 분들이 추가 정보를 주시면 좋을 것 같습니다. 여담인데 QueryDSL은 쿼리 짜긴 확실히 편한데 설정이 버전마다 중구난방이라 불편합니다. 똑똑한 개발자분들이 이런 설정도 그냥 @Configuration 으로 빼버리는 거 만들어주지 않을까 하는 기대가 있긴 합니다.

  • java
  • spring
  • jpa
  • querydsl
박민호 댓글 5 좋아요 20 조회수 11527

소프트웨어 진로 결정 관련 질문

저는 일단 정보통신공학 2학년인데 소프트 커리를 타려고 생각중이에요 2학기에 C++ 자료구조론을 배우는데 여론으로는 C++은 게임 개발이나 인공지능? 쪽에서 많이 쓰인다고 하고 제가 생각하는 프론트/백엔드의 웹 개발자는 java나 python이 주 프로그래밍 언어이고 IT기업 쪽에서도 java를 활용한 툴(Spring 등)을 선호하고 있다고 들어서 C++은 학점 챙기는 용으로 공부하고 진로를 위해서는 java를 중점적으로 공부하려고 하는데 1. 지금 java와 C++ 자료구조를 병행해서 공부를 하는 것이 나은지(공부 비중은 C++을 더 높게) 2. 일단은 C++ 자료구조를 중점적으로 공부할지 고민되어 질문글 올립니다 ㅠㅠ - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • java
  • c++
초롱초롱한 랫서팬더 댓글 0 좋아요 0 조회수 320

인기 태그

인프런 TOP Writers

주간 인기글