본문 바로가기

Java4

java 중복 없애주는 set, 객체는? 코딩테스트 문제를 풀때 중복되는 객체를 걸러줬으면 했는데 생각처럼 되지 않아서 어떻게 해야 하는지 찾아보았다. 안에 내용은 똑같은데 아무리 set에 넣어도 중복이 제거되지 않고 add되는 것이 이상했다. 결론은, 객체가 아닐 경우엔 중복을 자동으로 제거해줄 수 있지만, 객체일 경우 중복을 제거하려면 추가로 구현해야 할 것이 있다. 참고로, 문자열로부터 정수의 해시코드값을 얻고 int hashCode = "keyValue".hashCode(); // 해시코드 : 492250706 hash table의 크기로 나눈 나머지의 인덱스에 데이터가 저장된다. 그 이유에는 hash set이 데이터를 저장할 때 hash table을 사용하기 때문이다. 저장할 데이터로부터 hashcode를 얻고 그것을 key로 하여 데.. 2022. 5. 11.
eclipse, gradle 환경설정 오류 지난 1-2주간 너무 많은 오류들이 있었다... 다시 발생하면 시간 절약하기 위해 작성하는 글.. 결론적으론 전체적으로 문제가 많았다. 그래도 전엔 괜찮다가 gradle프로젝트를 실행시키려다 보니 발생한 에러들이라서 gradle의 설정의 문제인 것은 같았다. - java.lang.UnsupportedClassVersionError: this version of the Java Runtime (class file version 53), this version of the Java Runtime only recognizes class file versions up to 55 - linkageerror occurred while loading main class gradle설정과 프로젝트, 컴파일러 수준, j.. 2022. 1. 28.
[String] replace, replaceAll과 정규식 java.lang.String에서 정규식을 자주 사용하게 된다. 그 중 replace와 replaceAll 이 문자열을 다룰 때 많이 쓰인다. 그래서 replaceAll에서 쓰이는 정규식도 같이 정리해보려고 한다. 먼저 replace() 와 replaceAll()의 차이는 정규식을 사용할 수 있느냐 없느냐 이다. 공통점은 둘다 문자열 자체를 바꾸지 않고 변형된 새 문자열을 반환한다. 문자열 "{{2,1},{2},{2,1,3,4},{2,1,3}}" 을 2,1,2,2,1,3,4,2,1,3으로 바꾸고 싶다면 어떻게 해야 할까? replace를 사용하면 {와 }를 직접 바꿔줘야 한다. String s = "{{2,1},{2},{2,1,3,4},{2,1,3}}"; String s2 = s.replace("{", .. 2021. 11. 17.
프로그래머스 2020 카카오 인턴 [수식 최대화] 그렇게 어려운 개념이 필요하진 않았다. 그저 복잡할뿐... 실제 주어진 시간안에 다른 문제도 같이 풀려면 시간이 모자를수도 있을것 같다. 그래서 문젠가ㅎㅎ.. 요즘 문제를 풀고 여기에 정리하지 않았는데 다시 좀 정리를 해야겠다. 자잘한 개념들이나 몰랐던 것을 알게 되었을때 꼭 기록해둬야 겠다. 안그럼 기억력이 떨어지는것 같더라 [카카오 인턴] 수식 최대화 문제 설명 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 같은 방식으로 결정하려고 합니다. 해커톤 대회에 참가하는 모든 참가자들에게는 숫자들과 3가지의 연산문자(+, -, *) 만으로 이루어진 연산 수식이 전달되며, .. 2021. 11. 5.