<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>개발 공부 기록</title>
    <link>https://develop-me-z.tistory.com/</link>
    <description>웹개발자</description>
    <language>ko</language>
    <pubDate>Mon, 22 Jun 2026 07:04:40 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>데메즈</managingEditor>
    <image>
      <title>개발 공부 기록</title>
      <url>https://tistory1.daumcdn.net/tistory/4939537/attach/bff5599dd3b84d8f8f62887c0dff92e8</url>
      <link>https://develop-me-z.tistory.com</link>
    </image>
    <item>
      <title>웹 서비스에서 입력창을 통한 해킹(SQL 인젝션, XSS)을 방어</title>
      <link>https://develop-me-z.tistory.com/334</link>
      <description>&lt;h2 data-path-to-node=&quot;3&quot; data-ke-size=&quot;size26&quot;&gt;1. SQL 인젝션 (SQL Injection) 방어&lt;/h2&gt;
&lt;p data-path-to-node=&quot;4&quot; data-ke-size=&quot;size16&quot;&gt;악의적인 SQL 구문을 입력해 DB 데이터를 탈취하거나 조작하는 공격입니다.&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;5&quot; data-ke-size=&quot;size23&quot;&gt;✅ 체크리스트&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;6&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;MyBatis XML 매퍼에서 파라미터를 받을 때 ${} 기호를 사용하고 있지 않은가?&lt;/li&gt;
&lt;li&gt;ORDER BY 절이나 테이블명을 동적으로 바꿀 때, 사용자 입력을 그대로 연결(Concatenation)하고 있지 않은가?&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-path-to-node=&quot;7&quot; data-ke-size=&quot;size23&quot;&gt; ️ 구현 방법&lt;/h3&gt;
&lt;p data-path-to-node=&quot;8&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;8&quot;&gt;① 반드시 #{} (PreparedStatement) 사용하기&lt;/b&gt; MyBatis에서 #{}을 사용하면 내부적으로 입력값을 문자열(String)로 안전하게 바인딩하여 쿼리 구조 자체를 변경할 수 없게 만듭니다.&lt;/p&gt;
&lt;div data-hveid=&quot;3&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;XML&lt;/span&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;pre class=&quot;sql&quot;&gt;&lt;code&gt;SELECT * FROM wtr_api_artcl_info WHERE api_nm = '${apiNm}'

SELECT * FROM wtr_api_artcl_info WHERE api_nm = #{apiNm}
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;10&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;10&quot;&gt;② 동적 쿼리(ORDER BY 등)는 화이트리스트 검증&lt;/b&gt; ORDER BY 구문에는 #{}을 쓸 수 없어서 어쩔 수 없이 ${}를 써야 할 때가 있습니다. 이때는 입력값을 그대로 넣지 말고, 서버 단에서 허용된 문자열(화이트리스트)인지 무조건 체크해야 합니다.&lt;/p&gt;
&lt;div data-hveid=&quot;6&quot;&gt;
&lt;pre class=&quot;lasso&quot;&gt;&lt;code&gt;// Controller나 Service에서 검증
String sortType = commandParm.getSortType();

// 허용된 정렬 기준이 아니면 기본값으로 강제 변경
if (!&quot;clot_cnt&quot;.equals(sortType) &amp;amp;&amp;amp; !&quot;api_nm&quot;.equals(sortType)) {
    sortType = &quot;api_no&quot;; // 기본값
}
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h2 data-path-to-node=&quot;13&quot; data-ke-size=&quot;size26&quot;&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2 data-path-to-node=&quot;13&quot; data-ke-size=&quot;size26&quot;&gt;2. 크로스 사이트 스크립팅 (XSS) 방어&lt;/h2&gt;
&lt;p data-path-to-node=&quot;14&quot; data-ke-size=&quot;size16&quot;&gt;게시판이나 입력창에 &amp;lt;script&amp;gt;alert('해킹')&amp;lt;/script&amp;gt; 같은 태그를 넣어, 다른 사용자가 조회할 때 악성 스크립트가 실행되게 만드는 공격입니다.&lt;/p&gt;
&lt;h3 data-path-to-node=&quot;15&quot; data-ke-size=&quot;size23&quot;&gt;✅ 체크리스트&lt;/h3&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-path-to-node=&quot;16&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;화면(JSP 등)에 데이터를 출력할 때 HTML 태그가 그대로 렌더링되도록 방치하고 있지 않은가?&lt;/li&gt;
&lt;li&gt;API(JSON) 통신 시, 클라이언트에서 보낸 &amp;lt; , &amp;gt; 기호가 그대로 DB에 들어가고 있는가?&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 data-path-to-node=&quot;17&quot; data-ke-size=&quot;size23&quot;&gt; ️ 구현 방법&lt;/h3&gt;
&lt;p data-path-to-node=&quot;18&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;18&quot;&gt;① JSP 화면 출력 시 이스케이프 처리&lt;/b&gt; 만약 JSP를 사용 중이라면 데이터 출력 시 무조건 &amp;lt;c:out&amp;gt;을 사용하세요. &amp;lt; 기호를 &amp;amp;lt;로 자동 변환하여 스크립트 실행을 막아줍니다.&lt;/p&gt;
&lt;div data-hveid=&quot;9&quot;&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;dust&quot;&gt;&lt;code&gt;&amp;lt;div&amp;gt;${apiInfo.apiNm}&amp;lt;/div&amp;gt;

&amp;lt;div&amp;gt;&amp;lt;c:out value=&quot;${apiInfo.apiNm}&quot; /&amp;gt;&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;20&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;20&quot;&gt;② JSON API 통신 시 Jackson XSS 처리 (가장 중요)&lt;/b&gt; 앞서 작성하셨던 @RequestBody나 @ResponseBody를 통한 API 통신의 경우, JSON 데이터를 변환할 때 스크립트 태그를 무력화하는 &lt;b data-index-in-node=&quot;123&quot; data-path-to-node=&quot;20&quot;&gt;MessageConverter&lt;/b&gt;를 설정해야 합니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;21&quot; data-ke-size=&quot;size16&quot;&gt;가장 널리 쓰이는 방법은 네이버에서 만든 &lt;b data-index-in-node=&quot;23&quot; data-path-to-node=&quot;21&quot;&gt;Lucy XSS Filter&lt;/b&gt;를 적용하거나, &lt;b data-index-in-node=&quot;47&quot; data-path-to-node=&quot;21&quot;&gt;Jackson ObjectMapper&lt;/b&gt;를 커스터마이징하는 것입니다.&lt;/p&gt;
&lt;p data-path-to-node=&quot;21&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;22&quot; data-ke-size=&quot;size16&quot;&gt;&lt;i data-index-in-node=&quot;0&quot; data-path-to-node=&quot;22&quot;&gt;Jackson ObjectMapper 커스텀 예시 (설정 파일에 추가):&lt;/i&gt;&lt;/p&gt;
&lt;div data-hveid=&quot;12&quot;&gt;
&lt;pre class=&quot;java&quot;&gt;&lt;code&gt;@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    @Override
    public void configureMessageConverters(List&amp;lt;HttpMessageConverter&amp;lt;?&amp;gt;&amp;gt; converters) {
        MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
        ObjectMapper objectMapper = new ObjectMapper();
        
        // HTML 문자를 이스케이프 처리하는 모듈 등록 (별도 클래스 구현 필요)
        objectMapper.getFactory().setCharacterEscapes(new HtmlCharacterEscapes());
        
        converter.setObjectMapper(objectMapper);
        converters.add(converter);
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p data-path-to-node=&quot;24&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-path-to-node=&quot;24&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;24&quot;&gt;③ 정규식(Regex)을 통한 입력 원천 차단&lt;/b&gt; 가장 강력한 프론트엔드/백엔드 방어입니다. VO 객체에서 아예 특수문자나 영문 스크립트가 들어오지 못하도록 @Pattern으로 막아버립니다.&lt;/p&gt;
&lt;div data-hveid=&quot;15&quot;&gt;
&lt;pre class=&quot;kotlin&quot;&gt;&lt;code&gt;public class PrecipitationStationVO {

    // 한글, 영문, 숫자, 공백만 허용 (&amp;lt;, &amp;gt;, script 등 원천 차단)
    @Pattern(regexp = &quot;^[a-zA-Z0-9가-힣\\s]*$&quot;, message = &quot;특수문자는 입력할 수 없습니다.&quot;)
    private String searchKeyword;
}
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h3 data-path-to-node=&quot;27&quot; data-ke-size=&quot;size23&quot;&gt;&amp;nbsp;&lt;/h3&gt;
&lt;h3 data-path-to-node=&quot;27&quot; data-ke-size=&quot;size23&quot;&gt;  요약하자면&lt;/h3&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-path-to-node=&quot;28&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;28,0,0&quot;&gt;SQL 방어:&lt;/b&gt; MyBatis에서 무조건 #{} 쓴다.&lt;/li&gt;
&lt;li&gt;&lt;b data-index-in-node=&quot;0&quot; data-path-to-node=&quot;28,1,0&quot;&gt;XSS 방어:&lt;/b&gt; 입력받을 때 정규식으로 특수문자를 튕겨내거나, 출력할 때 &amp;lt;c:out&amp;gt; / ObjectMapper로 문자열을 치환한다.&lt;/li&gt;
&lt;/ol&gt;</description>
      <category> OpenAPI 서버 제작기</category>
      <author>데메즈</author>
      <guid isPermaLink="true">https://develop-me-z.tistory.com/334</guid>
      <comments>https://develop-me-z.tistory.com/334#entry334comment</comments>
      <pubDate>Thu, 28 May 2026 10:04:47 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스/Java] 원소들의 곱과 합</title>
      <link>https://develop-me-z.tistory.com/333</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;756&quot; data-origin-height=&quot;620&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TSoeB/btsQHqaycX3/4L7kahzbtVG6cE4OtENaV0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TSoeB/btsQHqaycX3/4L7kahzbtVG6cE4OtENaV0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TSoeB/btsQHqaycX3/4L7kahzbtVG6cE4OtENaV0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTSoeB%2FbtsQHqaycX3%2F4L7kahzbtVG6cE4OtENaV0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;756&quot; height=&quot;620&quot; data-origin-width=&quot;756&quot; data-origin-height=&quot;620&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1758526091065&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution {
    public int solution(int[] num_list) {
        int answer = 0;
        int result1 = 1;
        int result2 = 0;
        
        for(int i=0; i&amp;lt;num_list.length; i++){
            result1 *= num_list[i];
            result2 += num_list[i];
        }
        
        if(result1 &amp;lt; result2*result2) answer = 1;
        else answer = 0;
        
        return answer;
    }
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>코딩테스트</category>
      <category>코딩테스트</category>
      <category>프로그래머스</category>
      <author>데메즈</author>
      <guid isPermaLink="true">https://develop-me-z.tistory.com/333</guid>
      <comments>https://develop-me-z.tistory.com/333#entry333comment</comments>
      <pubDate>Mon, 22 Sep 2025 16:47:20 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스/Java] 주사위 게임 2</title>
      <link>https://develop-me-z.tistory.com/332</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;736&quot; data-origin-height=&quot;571&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rWKQV/btsQyEMLTxF/fCMQWzZv4JQdDLOfh4Iso0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rWKQV/btsQyEMLTxF/fCMQWzZv4JQdDLOfh4Iso0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rWKQV/btsQyEMLTxF/fCMQWzZv4JQdDLOfh4Iso0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrWKQV%2FbtsQyEMLTxF%2FfCMQWzZv4JQdDLOfh4Iso0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;736&quot; height=&quot;571&quot; data-origin-width=&quot;736&quot; data-origin-height=&quot;571&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;727&quot; data-origin-height=&quot;305&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cR84Kz/btsQzk8qv21/4gmi8LnOeZA3RiwNeR8XnK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cR84Kz/btsQzk8qv21/4gmi8LnOeZA3RiwNeR8XnK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cR84Kz/btsQzk8qv21/4gmi8LnOeZA3RiwNeR8XnK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcR84Kz%2FbtsQzk8qv21%2F4gmi8LnOeZA3RiwNeR8XnK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;727&quot; height=&quot;305&quot; data-origin-width=&quot;727&quot; data-origin-height=&quot;305&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1757914790994&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution {
    public int solution(int a, int b, int c) {
        int answer = 0;
        
        if(a!=b &amp;amp;&amp;amp; b!=c &amp;amp;&amp;amp; c!=a){
            answer = a+b+c;
        } else if((a!=b &amp;amp;&amp;amp; b==c) || (b!=c &amp;amp;&amp;amp; a==b) || (c!=b &amp;amp;&amp;amp; a==c) ){
            answer = (a+b+c)*(a*a + b*b + c*c);
        } else if(a==b &amp;amp;&amp;amp; b==c){
            answer = (a+b+c)*(a*a + b*b + c*c)*(a*a*a + b*b*b + c*c*c);
        }
        
        return answer;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다른 풀이&lt;/p&gt;
&lt;pre id=&quot;code_1757916774378&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution {
    public int solution(int a, int b, int c) {
        int answer = a + b + c;

        if (a == b || b == c || a == c) {
            answer *= (a * a + b * b + c * c);
        }

        if (a == b &amp;amp;&amp;amp; b == c) {
            answer *= (a * a * a + b * b * b + c * c * c);
        }

        return answer;
    }
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>코딩테스트</category>
      <category>코딩테스트</category>
      <category>프로그래머스</category>
      <author>데메즈</author>
      <guid isPermaLink="true">https://develop-me-z.tistory.com/332</guid>
      <comments>https://develop-me-z.tistory.com/332#entry332comment</comments>
      <pubDate>Mon, 15 Sep 2025 15:13:47 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스/JAVA] 등차수열의 특정한 항만 더하기</title>
      <link>https://develop-me-z.tistory.com/331</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;741&quot; data-origin-height=&quot;597&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bFnbZk/btsQt4KRnQS/6VmYlKPTzN5pkn8SzkQnH0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bFnbZk/btsQt4KRnQS/6VmYlKPTzN5pkn8SzkQnH0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bFnbZk/btsQt4KRnQS/6VmYlKPTzN5pkn8SzkQnH0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFnbZk%2FbtsQt4KRnQS%2F6VmYlKPTzN5pkn8SzkQnH0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;741&quot; height=&quot;597&quot; data-origin-width=&quot;741&quot; data-origin-height=&quot;597&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;735&quot; data-origin-height=&quot;540&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/kSWnr/btsQsSRWa2N/LCKRqG2IyFcHY6QE7wqHj0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/kSWnr/btsQsSRWa2N/LCKRqG2IyFcHY6QE7wqHj0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/kSWnr/btsQsSRWa2N/LCKRqG2IyFcHY6QE7wqHj0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkSWnr%2FbtsQsSRWa2N%2FLCKRqG2IyFcHY6QE7wqHj0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;735&quot; height=&quot;540&quot; data-origin-width=&quot;735&quot; data-origin-height=&quot;540&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1757557288495&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution {
    public int solution(int a, int d, boolean[] included) {
        int answer = 0;
        
        for(int i=1; i&amp;lt;=included.length; i++){
            if(included[i-1]){
                answer += a + d*(i-1);
            }
        }
        
        return answer;
    }
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>코딩테스트</category>
      <category>코딩테스트</category>
      <category>프로그래머스</category>
      <author>데메즈</author>
      <guid isPermaLink="true">https://develop-me-z.tistory.com/331</guid>
      <comments>https://develop-me-z.tistory.com/331#entry331comment</comments>
      <pubDate>Thu, 11 Sep 2025 11:44:36 +0900</pubDate>
    </item>
    <item>
      <title>2탄. eGovFramework 소스 세팅</title>
      <link>https://develop-me-z.tistory.com/329</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;- 표준프레임워크 포털 &amp;gt; 다운로드 &amp;gt; 공통컴포넌트 선택&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(이미지 누르면 이동)&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1896&quot; data-origin-height=&quot;442&quot;&gt;&lt;a href=&quot;https://egovframe.go.kr/home/sub.do?menuNo=47&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MjbYe/btsPuKOu6DM/AncoWVK6Ekl5WaVCYwTM20/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMjbYe%2FbtsPuKOu6DM%2FAncoWVK6Ekl5WaVCYwTM20%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1896&quot; height=&quot;442&quot; data-origin-width=&quot;1896&quot; data-origin-height=&quot;442&quot;/&gt;&lt;/a&gt;&lt;figcaption&gt;이미지 누르면 페이지로 이동&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 최신버전 파일 다운로드&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;595&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cM3HpS/btsPwzq5pT5/Gw4BDy5moxcFdGJzTdHcP0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cM3HpS/btsPwzq5pT5/Gw4BDy5moxcFdGJzTdHcP0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cM3HpS/btsPwzq5pT5/Gw4BDy5moxcFdGJzTdHcP0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcM3HpS%2FbtsPwzq5pT5%2FGw4BDy5moxcFdGJzTdHcP0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;595&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;595&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 압축파일 풀어서 소스로 옮기기&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imagegridblock&quot;&gt;
  &lt;div class=&quot;image-container&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bNnXsL/btsPwCg6OI7/fkmHcZOVd358A5Eww5Q6wk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bNnXsL/btsPwCg6OI7/fkmHcZOVd358A5Eww5Q6wk/img.png&quot; data-origin-width=&quot;980&quot; data-origin-height=&quot;548&quot; data-is-animation=&quot;false&quot; data-filename=&quot;blob&quot; style=&quot;width: 80.078%; margin-right: 10px;&quot; data-widthpercent=&quot;81.02&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bNnXsL/btsPwCg6OI7/fkmHcZOVd358A5Eww5Q6wk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbNnXsL%2FbtsPwCg6OI7%2FfkmHcZOVd358A5Eww5Q6wk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;980&quot; height=&quot;548&quot;/&gt;&lt;/span&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/djRZUe/btsPv28Cjus/kUiCkdhtKB9NzrU51yR9dK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/djRZUe/btsPv28Cjus/kUiCkdhtKB9NzrU51yR9dK/img.png&quot; data-origin-width=&quot;323&quot; data-origin-height=&quot;771&quot; data-is-animation=&quot;false&quot; style=&quot;width: 18.7593%;&quot; data-widthpercent=&quot;18.98&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/djRZUe/btsPv28Cjus/kUiCkdhtKB9NzrU51yR9dK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdjRZUe%2FbtsPv28Cjus%2FkUiCkdhtKB9NzrU51yR9dK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;323&quot; height=&quot;771&quot;/&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- pom.xml 파일에서도 필요한 소스 붙여넣기&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1194&quot; data-origin-height=&quot;697&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/JMbzj/btsPv2HA00p/aTmxAyEGdrHzVcchNiXI11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/JMbzj/btsPv2HA00p/aTmxAyEGdrHzVcchNiXI11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/JMbzj/btsPv2HA00p/aTmxAyEGdrHzVcchNiXI11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJMbzj%2FbtsPv2HA00p%2FaTmxAyEGdrHzVcchNiXI11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1194&quot; height=&quot;697&quot; data-origin-width=&quot;1194&quot; data-origin-height=&quot;697&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> 웹페이지 제작기</category>
      <author>데메즈</author>
      <guid isPermaLink="true">https://develop-me-z.tistory.com/329</guid>
      <comments>https://develop-me-z.tistory.com/329#entry329comment</comments>
      <pubDate>Wed, 23 Jul 2025 17:43:39 +0900</pubDate>
    </item>
    <item>
      <title>1탄. IntelliJ에서 새프로젝트 만들기</title>
      <link>https://develop-me-z.tistory.com/328</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;- File &amp;gt; New &amp;gt; Project... 선택&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;593&quot; data-origin-height=&quot;203&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bcUUSY/btsPwyeDByM/T7y8jLger20ZWQ2ELKoPCk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bcUUSY/btsPwyeDByM/T7y8jLger20ZWQ2ELKoPCk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bcUUSY/btsPwyeDByM/T7y8jLger20ZWQ2ELKoPCk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbcUUSY%2FbtsPwyeDByM%2FT7y8jLger20ZWQ2ELKoPCk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;593&quot; height=&quot;203&quot; data-origin-width=&quot;593&quot; data-origin-height=&quot;203&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Maven 에서 SDK 1.0로 맞추고 Next&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;804&quot; data-origin-height=&quot;670&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qxfw3/btsPwLELWZT/7aWp7eEPKilk4NECgHYo31/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qxfw3/btsPwLELWZT/7aWp7eEPKilk4NECgHYo31/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qxfw3/btsPwLELWZT/7aWp7eEPKilk4NECgHYo31/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fqxfw3%2FbtsPwLELWZT%2F7aWp7eEPKilk4NECgHYo31%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;804&quot; height=&quot;670&quot; data-origin-width=&quot;804&quot; data-origin-height=&quot;670&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Name, GroupId 설정하고 Finish&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;804&quot; data-origin-height=&quot;670&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bL8o0y/btsPvg0pSo3/rjgWnkLGs7XOWGDR6Lq24K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bL8o0y/btsPvg0pSo3/rjgWnkLGs7XOWGDR6Lq24K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bL8o0y/btsPvg0pSo3/rjgWnkLGs7XOWGDR6Lq24K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbL8o0y%2FbtsPvg0pSo3%2FrjgWnkLGs7XOWGDR6Lq24K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;804&quot; height=&quot;670&quot; data-origin-width=&quot;804&quot; data-origin-height=&quot;670&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- 프로젝트 만들기 완성!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1040&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dzO0v6/btsPwAKg0qu/h4l9gQ98SjnIpFGkd9Ykhk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dzO0v6/btsPwAKg0qu/h4l9gQ98SjnIpFGkd9Ykhk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dzO0v6/btsPwAKg0qu/h4l9gQ98SjnIpFGkd9Ykhk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdzO0v6%2FbtsPwAKg0qu%2Fh4l9gQ98SjnIpFGkd9Ykhk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1920&quot; height=&quot;1040&quot; data-origin-width=&quot;1920&quot; data-origin-height=&quot;1040&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;인코딩 설정&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- File &amp;gt; Settings... 클릭&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;332&quot; data-origin-height=&quot;218&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cnJUIe/btsPwuXFhFT/YuOGskBknrticsEXadSES1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cnJUIe/btsPwuXFhFT/YuOGskBknrticsEXadSES1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cnJUIe/btsPwuXFhFT/YuOGskBknrticsEXadSES1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcnJUIe%2FbtsPwuXFhFT%2FYuOGskBknrticsEXadSES1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;332&quot; height=&quot;218&quot; data-origin-width=&quot;332&quot; data-origin-height=&quot;218&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- Editor &amp;gt; File Encodings 선택 그림처럼 설정하고 Apply ➡ OK&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;984&quot; data-origin-height=&quot;704&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bu6Qoz/btsPuNkaCvN/rmQiFbKSV1ZeXDULR4bDqK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bu6Qoz/btsPuNkaCvN/rmQiFbKSV1ZeXDULR4bDqK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bu6Qoz/btsPuNkaCvN/rmQiFbKSV1ZeXDULR4bDqK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbu6Qoz%2FbtsPuNkaCvN%2FrmQiFbKSV1ZeXDULR4bDqK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;984&quot; height=&quot;704&quot; data-origin-width=&quot;984&quot; data-origin-height=&quot;704&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category> 웹페이지 제작기</category>
      <author>데메즈</author>
      <guid isPermaLink="true">https://develop-me-z.tistory.com/328</guid>
      <comments>https://develop-me-z.tistory.com/328#entry328comment</comments>
      <pubDate>Wed, 23 Jul 2025 16:37:18 +0900</pubDate>
    </item>
    <item>
      <title>20250718</title>
      <link>https://develop-me-z.tistory.com/327</link>
      <description>&lt;blockquote data-ke-style=&quot;style2&quot;&gt;Arrays.sort() 함수&lt;/blockquote&gt;
&lt;pre id=&quot;code_1752810113255&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package com.company;

import java.util.Arrays;

public class Main {

    public static void main(String[] args) throws Exception {
        int[] array = {9,-1,0};

        Arrays.sort(array);

        System.out.println(Arrays.toString(array)); //[-1, 0, 9]
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category> TIL(Today I Learned)</category>
      <author>데메즈</author>
      <guid isPermaLink="true">https://develop-me-z.tistory.com/327</guid>
      <comments>https://develop-me-z.tistory.com/327#entry327comment</comments>
      <pubDate>Wed, 23 Jul 2025 15:24:57 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스/Java] 코드 처리하기</title>
      <link>https://develop-me-z.tistory.com/326</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;784&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ddIQYC/btsPscvG4hl/ZeN8HS5KcV8AUJhhKBSgXk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ddIQYC/btsPscvG4hl/ZeN8HS5KcV8AUJhhKBSgXk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ddIQYC/btsPscvG4hl/ZeN8HS5KcV8AUJhhKBSgXk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FddIQYC%2FbtsPscvG4hl%2FZeN8HS5KcV8AUJhhKBSgXk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;749&quot; height=&quot;784&quot; data-origin-width=&quot;749&quot; data-origin-height=&quot;784&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;734&quot; data-origin-height=&quot;534&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/BAnnw/btsPp0wYHIg/my1o7cksPyfFkErwt0tHxk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/BAnnw/btsPp0wYHIg/my1o7cksPyfFkErwt0tHxk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/BAnnw/btsPp0wYHIg/my1o7cksPyfFkErwt0tHxk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBAnnw%2FbtsPp0wYHIg%2Fmy1o7cksPyfFkErwt0tHxk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;734&quot; height=&quot;534&quot; data-origin-width=&quot;734&quot; data-origin-height=&quot;534&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1753091522753&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution {
    public String solution(String code) {
        String ret = &quot;&quot;;
        int mode = 0;
        
        char[] codeArr = code.toCharArray();
        for(int i=0; i&amp;lt;codeArr.length; i++){
            if(codeArr[i] == '1'){
                mode = Math.abs(mode-1);
            } else if(i%2==0 &amp;amp;&amp;amp; mode == 0){ //짝수인 경우
                ret += codeArr[i];
            } else if(i%2!=0 &amp;amp;&amp;amp; mode == 1){ //홀수인 경우
                ret += codeArr[i];
            }
        }
        if(ret == &quot;&quot;) ret = &quot;EMPTY&quot;;
        
        return ret;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote data-ke-style=&quot;style2&quot;&gt;다른 풀이&lt;/blockquote&gt;
&lt;pre id=&quot;code_1753091668504&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution {
    public String solution(String code) {
        StringBuilder answer = new StringBuilder();
        int mode = 0;
        for (int i = 0; i &amp;lt; code.length(); i++) {
            char current = code.charAt(i);
            if (current == '1') {
                mode = mode == 0 ? 1 : 0;
                continue;
            }

            if (i % 2 == mode) {
                answer.append(current);
            }
        }
        return answer.length() == 0 ? &quot;EMPTY&quot; : answer.toString();
    }
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>코딩테스트</category>
      <category>코딩테스트</category>
      <category>프로그래머스</category>
      <author>데메즈</author>
      <guid isPermaLink="true">https://develop-me-z.tistory.com/326</guid>
      <comments>https://develop-me-z.tistory.com/326#entry326comment</comments>
      <pubDate>Mon, 21 Jul 2025 18:54:34 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스/Java] 중앙값 구하기</title>
      <link>https://develop-me-z.tistory.com/325</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;745&quot; data-origin-height=&quot;638&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FhUEb/btsPnp4FTBc/OooUKI4Za4ExzdG9MAsmRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FhUEb/btsPnp4FTBc/OooUKI4Za4ExzdG9MAsmRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FhUEb/btsPnp4FTBc/OooUKI4Za4ExzdG9MAsmRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFhUEb%2FbtsPnp4FTBc%2FOooUKI4Za4ExzdG9MAsmRk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;745&quot; height=&quot;638&quot; data-origin-width=&quot;745&quot; data-origin-height=&quot;638&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1752809708397&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import java.util.Arrays;

class Solution {
    public int solution(int[] array) {
        int answer = 0;
        
        Arrays.sort(array);
        answer = array[array.length/2];
        
        return answer;
    }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>코딩테스트</category>
      <category>코딩테스트</category>
      <category>프로그래머스</category>
      <author>데메즈</author>
      <guid isPermaLink="true">https://develop-me-z.tistory.com/325</guid>
      <comments>https://develop-me-z.tistory.com/325#entry325comment</comments>
      <pubDate>Fri, 18 Jul 2025 14:09:04 +0900</pubDate>
    </item>
    <item>
      <title>[프로그래머스/Java] 나머지 구하기</title>
      <link>https://develop-me-z.tistory.com/324</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;639&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cHBgUQ/btsPnnseiHC/KyeSecHJXKZRjpKH70Bw5K/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cHBgUQ/btsPnnseiHC/KyeSecHJXKZRjpKH70Bw5K/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cHBgUQ/btsPnnseiHC/KyeSecHJXKZRjpKH70Bw5K/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHBgUQ%2FbtsPnnseiHC%2FKyeSecHJXKZRjpKH70Bw5K%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;750&quot; height=&quot;639&quot; data-origin-width=&quot;750&quot; data-origin-height=&quot;639&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1752808931516&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;class Solution {
    public int solution(int num1, int num2) {
        return num1%num2;
    }
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>코딩테스트</category>
      <category>코딩테스트</category>
      <category>프로그래머스</category>
      <author>데메즈</author>
      <guid isPermaLink="true">https://develop-me-z.tistory.com/324</guid>
      <comments>https://develop-me-z.tistory.com/324#entry324comment</comments>
      <pubDate>Fri, 18 Jul 2025 12:18:28 +0900</pubDate>
    </item>
  </channel>
</rss>