ÀÚ¹ÙÇϴ³ðÀÇ ±¸Çö
ÃÑ ÆäÀÌÁö ¼ö : 3224

Àüü ÇÔ¼ö/¿ë¾î»çÀü
Facebook Joinc ±×·ì   Joinc QA »çÀÌÆ®



joinc´Â Firefox¿Í chrome¿¡¼­ Å×½ºÆ® Çß½À´Ï´Ù. IE¿¡¼­´Â Å×À̺íÀÌ ±úÁö°Å³ª À̹ÌÁö°¡ º¸ÀÌÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ±¸±Û DocsÀ̹ÌÁöÀÇ °æ¿ì ¿¢¹Úó¸®µÉ ¼ö ÀÖ½À´Ï´Ù.

import java.util.LinkedList; 
import java.util.List; 
/* 
 * ScoreUnion.java 
 * 
 * Created on 2006³â 10¿ù 10ÀÏ (È­), ¿ÀÈÄ 6:27 
 * 
 * To change this template, choose Tools | Template Manager 
 * and open the template in the editor. 
 */ 
 
/** 
 * 
 * @author °­¿õºó 
 */ 
public class ScoreUnion { 
     
    public LinkedList<Score> getUnion(final List<Score> sortedListA, final List<Score> sortedListB) { 
        final LinkedList<Score> result = new LinkedList<Score>(); 
         
         
        for(Score score: sortedListA) { 
            result.add(new Score(score.did, score.score)); 
        } 
         
        int lastAidx = 0; 
        for(int ix=0; ix<sortedListB.size(); ix++) { 
            final Score bScore = sortedListB.get(ix); 
            final int curDid = bScore.did; 
            final int curScore = bScore.score; 
            for(;lastAidx < result.size();lastAidx++) { 
                final Score aScoreObj = result.get(lastAidx); 
                final int aDid = aScoreObj.did; 
                final int aScore = aScoreObj.score; 
                if(aDid < curDid) { 
                    continue; 
                } else if(aDid == curDid) { 
                    result.get(lastAidx).score = aScore + curScore; 
                    break; 
                } else { 
                    result.add(lastAidx, bScore); 
                    break; 
                } 
            } 
        } 
         
         
        return result; 
                 
                
    } 
             
    public static void main(String args[]) { 
        LinkedList<Score> a = new LinkedList<Score>(); 
        LinkedList<Score> b = new LinkedList<Score>(); 
        a.add(new Score(1, 5)); 
        a.add(new Score(5, 8)); 
        a.add(new Score(8, 2)); 
        a.add(new Score(10, 3)); 
        a.add(new Score(15, 1)); 
        b.add(new Score(1, 2)); 
        b.add(new Score(6, 1)); 
        b.add(new Score(10, 3)); 
        b.add(new Score(18, 5)); 
        b.add(new Score(21, 7)); 
         
        ScoreUnion test = new ScoreUnion(); 
         
        List<Score> result = test.getUnion(a, b); 
        for(Score scr:  result) { 
            System.out.println("[" + scr.did + "," + scr.score + "]" ); 
        } 
    } 
} 


//class Score 
 
/* 
 * Score.java 
 * 
 * Created on 2006³â 10¿ù 10ÀÏ (È­), ¿ÀÈÄ 6:26 
 * 
 * To change this template, choose Tools | Template Manager 
 * and open the template in the editor. 
 */ 
 
/** 
 * 
 * @author °­¿õºó 
 */ 
public class Score { 
    public Score(int d, int s) { 
        did = d; 
        score = s; 
    } 
     
    public int did; 
    public int score; 
     
} 
EmailÀ» ±âÀÔÇϸé, ´ñ±ÛÀÌ ¸ÞÀÏ·Î Àü´ÞµË´Ï´Ù.